自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 问答 (3)
  • 收藏
  • 关注

原创 消除编译器未使用的警告

#define XXX_UNUSED(x) (void)x;

2012-03-29 15:07:24 396

原创 消息队列

msgget函数用于创建一个新的消息队列或访问一个已存在的消息队列IPC_NOWAIT标志使得msgsend调用非阻塞:如果没有存放新消息的可用空间,该函数就马上返回.这个条件可能发生的情况包括:1.在指定的队列中已有太多的字节2.在系统范围存在太多的消息如果这两个条件中有一个存在,而且IPC_NOWAIT标志已指定,msgsnd就返回一个EAGAIN错误.如果这两个条件中有一...

2012-03-27 16:56:47 117

原创 迷信式编程

每个团队里也许都有一个这样的程序员,他总会遇到无穷的问题:不听话的机器,奇怪的编译器错误,月圆时才会出现的编程语言的隐藏缺陷,失效的数据,忘记做的重要发动,一个不能正常保存程序的疯狂的编辑器.这就是迷信式编程.很不幸,这样的问题我全遇到过了 :arrow: 要知道,如果你写的程序出了问题,那就是你的原因,不是计算机的,也不是编译器的.程序不会每次都产生不同的结果.它不是自己写出来的...

2012-03-26 22:17:49 121

原创 静态链接库

静态库是obj文件的一个集合,通常以.a为后缀,理论上执行速度比共享库和动态库要快(1%-5%)

2012-03-16 16:54:03 94

原创 Linux远程windows

我的linux是Centos5.31.yum install rdesktop.i3862.yum install tsclient然后在终端输入tsclient,选好协议,输入windows的用户名密码,还有ip就OK了,比linux连linux用vnc还要简单tsclient的使用tsclient是图形界面,命令行输入tsclient打开主界面,输入远程计算机IP,...

2012-03-16 08:29:13 76

原创 bind

bind:berkeley internet name domain...

2012-03-11 16:43:59 80

原创 UDP套接字

UDP:是无连接不可靠的数据报协议,一些常见的程序有:DNS(域名系统),NFS(网络文件系统)和SNMP(简单网络管理协议).UDP和TCP在首部中都有覆盖它们首部和数据的检验和.UDP的检验和是可选的,而TCP的检验和是必需的.如果发送端没有计算检验和而接收端检测到检验和有差错,那么UDP数据报就要被悄悄地丢弃.不产生任何差错报文.其目的是为了发现UDP首部和数据在发送端到接收端之间发...

2012-03-07 22:24:07 129

原创 #if0

#if 0#endif用于屏蔽注释中间的代码,避免注释嵌套,如果你的代码没注释,那么它与/**/的实际用途没啥区别#define a 1;#if a;//ok#end ifint a = 1;#if a;//虽然不会报错,但是没啥用#if中间的代码不会执行#end if;...

2012-03-07 13:45:58 91

原创 poll函数

#includeint poll(struct pollfd *fdarray,unsignd long nfds,int timeout);第一个参数指向一个结构数组第一个元素的指针.每个数组元素都是一个pollfd结构,用于指定测试某个给定描述符fd的条件.timeout:是毫秒数...

2012-03-05 22:00:47 69

原创 pselect函数

#include#include#includeint pselect(int maxfdp1,fd_set *readset,fd_set *writeset,fd_set *exceptset,const struct timespec *timeout,const sigset_t *sigmask);若有描述符返回其数目,若超过则为0,出错为-1...

2012-03-05 21:49:25 142

原创 枚举转char

#define NAME(value) #value

2012-03-05 11:54:24 803

原创 shutdown函数

#includeint shutdown(int sockfd,int howto);它比close少了2个限制:1.close把描述符的引用计数减1,仅在该计数变为0时才关闭套接字.使用shutdown可以不管引用计数就激发TCP的正常连接终止序列.2.close终止读和写两个方向的数据传送...

2012-03-04 16:14:37 81

原创 RTT

RTT(round-trip time):往返时间

2012-03-04 16:09:22 419

原创 select函数

#include#includeint select(int maxfdp1,fd_set *readset,fd_set *writeset,fd_set *exceptset,const struct timeval *timeout);允许进程指示内核等待多个事件中的任何一个发生,并只有在一个或多个事件发生或经历一段指定的时间后才唤醒它.我们可以调用select告知内核对哪些...

2012-03-04 15:51:15 88

原创 非阻塞与同异步,信号驱动IO

进程把一个套接字设置成非阻塞是在通知内核:当所请求的IO操作非得把本进程投入睡眠才能完成时,不要把本进程投入睡眠,而是返回一个错误.同步IO:导致请求进程阻塞,直到IO操作完成异步IO:不导致请求进程阻塞.信号驱动IO:让内核描述符就绪时发送SIGIO信号通知我们.异步IO通过告知内核启动某个,并让内核在整个操作(包括将数据从内核复制到我们自己的缓冲区)完成后通知我们.这种...

2012-03-04 15:34:15 67

原创 信号处理

信号(signal):就是告知某个进程发生了某个事件的通知,有时也称为软件中断(software interrupt).信号通常是异步的.一般可以由一个进程发给另一个进程,或由内核发给某个进程....

2012-03-01 22:00:24 76

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除