摘要: 1 #include <sys/socket.h>2 ssize_t recv(int sockfd, void *buff, size_t nbytes, int flags);3 ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags);recv 和send的前3个参数等同于read和write。flags参数值为0或:flags说明recvsendMSG_DONTROUTE绕过路由表查找 •MSG_DONTWAIT仅本操作非阻塞 ••MSG_OOB 发送或接收带外数据 • •MSG_PEEK 窥看 阅读全文
posted @ 2012-08-30 15:29 blankqdb 阅读(122244) 评论(3) 推荐(2) 编辑
摘要: fork()函数通过系统调用创建一个与原来进程(父进程)几乎完全相同的进程(子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间。linux将复制父进程的地址空间内容给子进程,因此,子进程有了独立的地址空间。),也就是这两个进程做完全相同的事。在fork后的子进程中使用exec函数族,可以装入和运行其它程序(子进程替换原有进程,和父进程做不同的事)。fork创建一个新的进程就产生了一个新的PID,exec启动一个新程序,替换原有的进程,因此这个新的被 exec 执行的进程的PID不会改变(和调用exe 阅读全文
posted @ 2012-08-23 14:18 blankqdb 阅读(21277) 评论(1) 推荐(0) 编辑
摘要: 1. fopen函数1 #include 2 FILE *fopen(const char *path, const char *mode) 返回:文件顺利打开后,指向该流的文件就会被返回。如何文件打开失败则返回NULL,并把错误代码存在 errno 中。参数说明: mode: 1)r 以只读方式... 阅读全文
posted @ 2014-05-09 22:59 blankqdb 阅读(2083) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 ============================================================================ 3 Name : test.c 4 Author : blank 5 Version : ... 阅读全文
posted @ 2014-05-05 23:17 blankqdb 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 ============================================================================ 3 Name : test.c 4 Author : blank 5 Version : ... 阅读全文
posted @ 2014-05-05 22:42 blankqdb 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 1 //http://blog.chinaunix.net/uid-24549279-id-71355.html 2 /* 3 ============================================================================ 4 Name... 阅读全文
posted @ 2014-05-05 22:31 blankqdb 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 1 int a = 5; 2 extern int b; 3 static int c; 4 5 int d( int e ) 6 { 7 int f = 15; 8 register int b; 9 ... 阅读全文
posted @ 2014-04-30 22:25 blankqdb 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 1 //http://blog.chinaunix.net/uid-24549279-id-71355.html 2 /* 3 ============================================================================ 4 Name... 阅读全文
posted @ 2014-04-29 23:08 blankqdb 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 1 //http://blog.chinaunix.net/uid-24549279-id-71355.html 2 /* 3 ============================================================================ 4 Name... 阅读全文
posted @ 2014-04-29 22:37 blankqdb 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 当用于不同的上下文环境时,static关键字具有不同的意思。 当它用于函数定义时,或用于代码块之外的变量声明时,static关键字用于修改标识符的链接属性,从external改为internal,但标识符的存储类型和作用域不受影响。用这种方式声明的函数或变量只能在声明它们的源文件中访问。 当... 阅读全文
posted @ 2014-04-29 21:41 blankqdb 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 变量的破碎类型是指存储变量值的内存类型。变量的存储类型决定变量何时创建、何时销毁以及它的值将保持多久。 有三个地方可以用于存在变量:普通内存、运行时堆栈、硬件寄存器。 变量的缺省存储类型取决于它的声明位置。凡是在任何代码块之外声明的变量问题存储于静态内存中,也就是不属于堆栈的内存,这类变量称... 阅读全文
posted @ 2014-04-29 21:29 blankqdb 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 链接属性决定如何处理在不同文件中出现的标识符。标识符的作用域也它的链接属性有关,但这两个属性并不相同。 没有链接属性的标识符(none)总是被当作单独的个体,也就是说该标识符的多个声明被当作独立不同的实体。 internal链接属性的标识符在同一个源文件内的所有声明中都指同一个实体,但位于不... 阅读全文
posted @ 2014-04-28 20:30 blankqdb 阅读(680) 评论(0) 推荐(0) 编辑