摘要:
Linux 信号量的API都定义在sys/sem.h头文件中,主要包含3个系统调用:semget、semop、semctl。 附上代码: 阅读全文
摘要:
//服务端代码: #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <assert.h> #include <unistd.h> #include <string.h> #include <arpa/inet.h> 阅读全文
摘要:
1、下载安装源码包libevent-2.0.21-stable.tar.gz 2、解压并安装 tar zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.1.4-alpha ./configure -prefix=/usr/libeventmake -- 阅读全文
摘要:
在内建数据类型的情况下,效率没有区别。 在自定义数据类型(主要是指类)的情况下,++i效率高;因为前缀式(++i)可以返回对象的引用,而后缀式(i++)必须返回对象 的值,所以导致在大对象的时候产生了较大的复制开销,引起效率降低。建议在使用自定义类型(注意不是指内建类型)的时候,应该尽可能地使用前缀 阅读全文
摘要:
1、指针函数:是指函数的返回值类型是一个指针类型,本质是一个函数,如 int *function(void);这里可以认为是int* function(void);返回值是int*,是一个指针。 2、函数指针:本质是一个指针,但是这个指针指向一个函数,这个指针就叫函数指针,如int (*functi 阅读全文
摘要:
(1)当fork子进程时,必须捕获SIGCHLD信号; Signal(SIGCHLD, sig_chld); /* must call waitpid() */ (2)当捕获信号时,必须处理被中断的系统调用; struct sigaction act, oact; act.sa_handler = 阅读全文
摘要:
将低序字节存储在内存的起始地址,这称为小端字节序。 将高序字节存储在内存的起始地址,这称为大端字节序。 检查大小端字节序的简单代码如下: intmain(int argc, char **argv){ union { short s; char c[sizeof(short)]; } un; un. 阅读全文