- 博客(43)
- 资源 (4)
- 收藏
- 关注
原创 epoll简介 与 UDP server的实现
from:http://blog.chinaunix.net/uid-26000296-id-3868466.htmlAbstractepoll是Linux内核为处理大批量句柄而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。简介:epoll是Linux下多路复用IO接口select/pol
2013-08-29 10:45:24
916
原创 whereis命令
from:http://www.cnblogs.com/peida/archive/2012/11/08/2759805.htmlwhereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文
2013-08-29 10:45:19
883
原创 which 命令
from:http://www.cnblogs.com/peida/archive/2012/11/08/2759805.html我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置。 whereis 查看文件的位置。 locate 配合数据库查看文件位置。 f
2013-08-29 10:45:17
797
原创 开始学习storm
转自百度百科http://baike.baidu.com/view/1012011.htm#5Twitter将Storm正式开源了,这是一个分布式的、容错的实时计算系统,它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType开发的实时处理系统,BackType现在已在Twitter麾下。GitHub上的最新版本是Storm 0.8.0,
2013-08-29 10:45:15
809
原创 一些常用的shell命令:cd、$、比较、ls
cd - 返回进入当前目录前躲在的目录!! 显示上一个命令以及它的执行结果cd / 切换到根目录**************************************************************************************$0 shell的命令本身(包括完整路径)$1到$9 数字表示shell 的第几个参数 $# 传递到脚本的参数个数$* 以一
2013-08-29 10:45:12
1992
原创 C++程序数组太大造成栈溢出
现象:程序报段异常原因:数组太长,因为数组变量时存放在栈中,而栈的大小是有限制的,一般为1M、2M,所以数组太大的话会造成栈溢出,报段异常错误。解决方法:将大变量存放在堆上。案例:char myarray[9999999];//error char *pmyarray;pmyarray = new char[9999999];//ok,new出来的对象存放在heap上delete [] pmyar
2013-08-29 10:45:10
3873
原创 C++编程程序中堆与栈的区别
转载:http://soft.chinabyte.com/database/6/12211506.shtml一 申请方式stack:由系统自动分配。 例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间heap:需要程序员自己申请,并指明大小,在c中malloc函数如p1 = (char *)malloc(10);在C++中用new运算符如p2 = (char *)malloc
2013-08-29 10:45:08
658
原创 typedef 和 define的区别
1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926程序中的:area=PI*r*r 会替换为3.1415926*r*r如果你把#define语句中的数字9 写成字母g 预处理也照样带入。2)typedef是在编译时处理的。它在自己的作用域内给一
2013-08-29 10:45:05
631
原创 gdb core调试
原文链接http://blog.163.com/lanka83/blog/static/32637615200801793020182/http://blog.youkuaiyun.com/taina2008/archive/2007/08/09/1733464.aspx1. 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误
2013-08-29 10:45:03
747
原创 浅谈HTTP中Get与Post的区别
转自:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.htmlHttp定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,
2013-08-29 10:45:01
667
原创 shell 判断字符串是否为有效ip地址
转载:http://blog.sina.com.cn/s/blog_53a844e50100xxus.html IPADDR=192.168.1.1 (有效)IPADDR=192.168.0.254(有效)IPADDR=10.0.0.0(无效)IPADDR=0.1.1.1(无效)IPADDR=192.168.001.001 (无效)IPADDR=1aa.2bb.3cc.4dd (无效)IPADD
2013-08-29 10:44:59
4655
原创 尽量使用前自增操作符
摘自《C++ primer》相对于后自增操作符,前自增操作符需要做的工作更少。前自增操作符只需要加1后然后返回加1后的结果即可。而后自增操作符则必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。对于int类型和指针,编译器可优化掉这项额外的工作。但是对于更多的复杂的迭代器类型,这种额外的工作可能会花费更大的代价。
2013-08-29 10:44:56
704
原创 操作符重载
原文地址:http://www.cnblogs.com/BenJiamin/archive/2012/11/14/2769727.html重载操作符是个好青年,但是要吐槽的是 ,我们时常为了重载操作符编写许多重复的代码。这是枯燥的,但是也是必须的。你重载的越多,你的类的弹性就越大。但是,你也不能为所欲为。玩游戏总是遵守相应的规则,写重载操作符亦是如此 ! 以下是要遵守的游戏规则 :? 一元操
2013-08-29 10:44:54
713
原创 C++ if条件判断
if(条件表达式){命令}其中,条件表达式的值为非零的时候,即可执行大括号中的命令。注意:此时值得是结果为非零,包含正数和负数两种情况,在实际应用中判断函数返回值的时候要特别注意。例如定义函数int my_func(){ if(执行成功) return 0; else(错误) return -1;}则判断返回值的时候,不能根据我们自己的想法re=mu_func();if(re) 成功,继续。
2013-08-29 10:44:51
5031
原创 关于Segmentation fault (core dumped)几个简单问题的整理
转自:http://www.daifuxin.com/post%20cat_5%20user_4%202012%2002%2019%2027%2027%20/有的程序可以通过编译,但在运行时会出现Segment fault(段错误)。这通常都是指针错误引起的。但这不像编译错误一样会提示到文件一行,而是没有任何信息。一种办法是用gdb的step, 一步一步寻找。但要step一个上万行的代码让人难以想
2013-08-29 10:44:49
3990
原创 逐行读取文本本件一例
#include #include #include #include using namespace std;int main(){ ifstream infile; infile.open ("tsest.txt", ifstream::in); if(!infile) { cout system( "PAUSE" ); return 0;
2013-08-29 10:44:47
686
原创 LINUX ulimit命令
转自:http://blog.youkuaiyun.com/wh62592855/article/details/6332540 概述系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进
2013-08-29 10:44:44
853
原创 access函数确认文件或文件夹的访问权限
头文件:io.h功 能: 确定文件或文件夹的访问权限。即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否则函数返回-1。用 法: int access(const char *filenpath, int mode); 或者int _access( const char *path, int mode );参数说明:filenpath文件或文件夹的路
2013-08-29 10:44:42
1884
原创 linux下C程序:运行单个实例
对于很多服务来说,在同一个服务器上只能运行一个实例,那么通过什么方法来保证程序同一时刻只有一个实例运行呢?通过编写shell脚本来管理程序的启动、停止是个不错的方法。在启动时,shell脚本会创建进程标识文件(存储正在运行实例的pid)以表明已经有实例在运行,如果文件已存在,则说明已有实例在运行,不需要做任何事;在退出时,shell脚本会删除进程标识文件,表明没有实例运行。shell脚本管理方法在
2013-08-29 10:44:40
1005
原创 结构体重载==运算符小例子
编写工具:devC++测试环境:windows系统#include #include #include using namespace std;struct Sun{ int a; string b; bool operator==(const Sun sun1) { return (sun1.a==a && sun1.b==b
2013-08-29 10:44:37
1433
原创 linux下使用系统调用取得当前用户名
直接使用geteuid()得到的是当前用户的编号,要得到用户名,还需要到/etc/passwd中去取得相应编号的用户名程序如下#include #include #include #include #include #include #define max 8192#define umax 128int slip(char *,char *,char*);int char2int(char *);
2013-08-29 10:44:35
1038
原创 linux id命令参数及用法详解(linux查看当前登陆用户uid,gid)
命 令:id 功能说明:查看显示目前登陆账户的uid和gid及所属分组及用户名 语 法:id [-gGnru][--help][--version][用户名称] 补充说明:id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。 这个命令在溢出时经常用到,查看是不是溢出root成功,执行一下id命令,显示uid=0,则成功了。 参
2013-08-29 10:44:33
1436
原创 结构体作为map的key或放入set中,需要重载<运算符
http://blog.youkuaiyun.com/guang11cheng/article/details/7012007结构体作为map的key或放入set中,需要重载typedef struct tagRoadKey{ int m_i32Type; int m_i32Scale; bool operator { if (m_i32Type != other.m
2013-08-29 10:44:31
1327
原创 线程,如何通过pthread_t这个线程id判断线程是否已经终止
http://bbs.rosoo.net/thread-9772-1-1.html pthread_kill:别被名字吓到,pthread_kill可不是kill,而是向线程发送signal。还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理函数。int pthread_kill(pthread_t thread, int sig
2013-08-29 10:44:28
7906
原创 grep与正则表达式
http://www.cnblogs.com/xuxm2007/archive/2011/06/15/2081671.htmlhttp://my.unix-center.net/~Simon_fu/?p=469 虽然正则表达式经常都在用,但是很少能够静下心来仔细的总结一下。最近看了一个台湾人的网站叫做鸟哥Linux私房菜,关于正则表达式的描述挺详细的。在此,我进行一下总结,如果
2013-08-29 10:44:26
661
原创 线程的状态及线程结束时候资源的回收
一句话总结:线程创建的时候默认处于joinable状态,此状态线程结束的时候不会自动回收线程资源,需要pthread_join函数来回收;pthread_detach可以讲线程转换为detached状态,子线程运行完成之后可以自行回收资源。一般情况下,进程中各个线程的运行都是相互独立的,线程的终止并不会通知,也不会影响其他线程,终止的线程所占用的资源也并不会随着线程的终止而得到释放。正如进程之间可
2013-08-29 10:44:24
1634
原创 strftime() 函数根据区域设置格式化本地时间/日期
转自:百度百科求助编辑百科名片strftime,是一种计算机函数,strftime() 函数根据区域设置格式化本地时间/日期,函数的功能将时间格式化,或者说格式化一个时间字符串。目录函数简介程序示例ISO 8601:1988编辑本段函数简介函数功能:将时间格式化,或者说:格式化一个时间字符串。头文件:time.h函数原型:我们可以使用strftime()函数将时间格式化为我们想要的格式。它的原型如
2013-08-29 10:44:22
1495
原创 linux在shell date获取时间的相关操作
原文地址:http://blog.sina.com.cn/s/blog_8043547601013rpc.html获得当天的日期date +%Y-%m-%d输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d)有时候我们需要使用今天之前或者往后的日期,这时可以使用date的 -d参数 获取明天的日期date -d next-day +%Y%m%d获取昨天
2013-08-29 10:44:19
974
原创 Shell脚本大小写字符串转换
以前写Bash Shell脚本,大小写转换通常这样做:str="This is a Bash Shell script."newstr=`tr '[A-Z]' '[a-z]' 今天看bash的man page,发现有更简单的方法转小写,只需要将变量名字declare -l 后,再给变量赋值,变量的内容即为小写转大写,只需要将变量名字declare -u后,再给变量赋值,变量的内容即为大写例如:m=
2013-08-29 10:44:15
2487
原创 Linux netstat命令详解
原文地址:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.htmlNetstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结
2013-08-29 10:44:13
698
原创 linux nc命令 <netcat>
原文地址:http://blog.chinaunix.net/uid-17238776-id-3017501.html功能说明:功能强大的网络工具语 法:nc [-hlnruz][-g网关...>][-G指向器数目>][-i延迟秒数>][-o输出文件>][-p通信端口>][-s来源位址>][-v...][-w超时秒数>][主机名称][通信端口...]参 数: -g网关> 设置路由器跃程通
2013-08-29 10:44:10
842
原创 shell 文件包含
shell 虽然没有像C/C++那样的语句,也没有像java那样的import导入,但她有自已的文件包含方式,那就是“. filename”(点号加文件名,中间有一空格),或者是“source filename”。以下通过简单的例子进行说明:# print.sh -- print a string to the screenprint(){ echo -n "$1"} 该文件只
2013-08-29 10:44:08
561
原创 linux which 命令详解
功能说明:查找文件。语 法:which [文件...]补充说明:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。参 数: -n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。 -p 与-n参数相同,但此处的包括了文件的路径。 -w 指定输出时栏位的宽度。 -V 显示版本信息
2013-08-29 10:44:06
714
原创 LINUX trap命令
trap命令用于指定在接收到信号后将要采取的动作。常见的用途是在脚本程序被中断时完成清理工作。不过,这次我遇到它,是因为客户有个需求:从终端访问服务器的用户,其登陆服务器后会自动运行某个命令,例如打开应用(命令写在.bashrc等文件中),最后退出,并断开连接;期间是不能允许其使用Ctrl+C等中断退出应用,而回到Shell环境,否则可能会带来安全问题。 当然,解决的方式有很多,如在应用中屏
2013-08-29 10:44:04
674
原创 XML特殊符号
写XML文件的时候有些值是带有特殊符号的,在XML中"字符和"&"字符是严格禁止使用的。要使用这几种字符需要使用它们的实体,(就是转一下而已)下面是五个在XML文档中预定义好的实体:< 小于号 > > 大于号 & & 和 ' ' 单引号 " " 双引号 实体必须以符号"&"开头,以符号";"结尾。 注意: 只有"字符和"&"字符对于XML来说是严格禁止使用的
2013-08-29 10:44:01
753
原创 shell编程 if语句
原文地址:http://blog.youkuaiyun.com/hainan16/article/details/6667489 if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi
2013-08-29 10:43:59
682
原创 C++中的static关键字
原文地址:http://blog.youkuaiyun.com/hackbuteer1/article/details/7487694C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为
2013-08-29 10:43:57
495
原创 warning: control reaches end of non-void function
用gcc编译一个程序的时候出现这样的警告:warning: control reaches end of non-void function它的意思是:控制到达非void函数的结尾。就是说你的一些本应带有返回值的函数到达结尾后可能并没有返回任何值。这时候,最好检查一下是否每个控制流都会有返回值。
2013-08-29 10:43:54
787
原创 int string 转换
要实现这个目标,非stringstream类莫属。这个类在头文件中定义, 库定义了三种类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。另外,每个类都有一个对应的宽字符集版本。 string到int类型的转换使用string对象来代替字符数组。这样可以避免缓冲区溢出的危险。而且,传入参数和目标对象的类型被自动推导
2013-08-29 10:43:52
585
原创 extern 用法,在命名空间全局变量用到
extern求助编辑百科名片extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。 目录关键字extern编译、链接函数编辑本段关键字extern在一个源文件里定义了一个数组:char a[6];在另外一个文件里用下列语句进行了声明:e
2013-08-29 10:43:50
1599
ActivePerl-5.18.2.1802-MSWin32-x86-64int-298023.msi
2019-12-23
GoogleAppEngine
2012-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人