
C
文章平均质量分 66
baobao8505
这个作者很懒,什么都没留下…
展开
-
linux下使用POSIX无名信号量
POSIX的无名信号量的函数有以下几个: #include int sem_init(sem_t *sem,int pshared,unsigned int value); int sem_destroy(sem_t *sem); int sem_wait(sem_t *sem); int sem_trywait(sem_t *sem); int sem_post(sem_t *sem); in原创 2006-08-15 16:57:00 · 2045 阅读 · 0 评论 -
linux的c编程技巧
1. 获取文件的信息:stat(char* filename, struct stat* buf);struct stat { dev_t st_dev; /* 设备 */ ino_t st_ino; /* 节点 */ mode_t st_mode; /* 模式 */ nlink_t st_nlink; /* 硬连接 */ uid_t st_uid; /* 用户ID */ gid_t st_gid转载 2006-08-21 08:44:00 · 1346 阅读 · 0 评论 -
socket编程
socket类型(在sys/socket.h中)int SOCK_STREAM先连接到一台主机然后用流方式传送数据int SOCK_DGRAM不连接,在数据包中包含目标地址,然后直接送出,包在传送过程中可能丢失和错位int SOCK_RAWsocket数据的底层传输,对于一般程序没有什么意义地址的表示方法相关库:sys/socket.h相关数据结构:struct sockaddr *sockadd转载 2006-08-21 08:46:00 · 1805 阅读 · 0 评论 -
Linux环境进程间通信: 共享内存
采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完毕为止,转载 2006-08-21 09:41:00 · 1911 阅读 · 0 评论 -
C中数组与指针的关系小结
一维数组例子:#include main(){ int a[] ={1,2,3,4,5,6}; int *p; printf("============a============/n"); printf("&a=%d/n",&a); printf(" a=%d/n",a); printf("*a=%d/n",*a); printf("============a+0======原创 2006-08-14 16:43:00 · 1121 阅读 · 0 评论 -
GCC使用手册与常用命令
GCC功能介绍 GCC编译器完成从C、C++、objective-C等源文件向运行在特定CPU硬件上的目标代码的转换(这是任何一个编译器需要完成的任务)。 GCC能够处理的源文件分为C、C++、Objective-C、汇编语言等。对于这些源文件,用他们的后缀名进行标示。GCC能够处理的后缀有: a. *.c *.C (C语言) b. *.cxx *转载 2006-08-16 11:46:00 · 1830 阅读 · 0 评论 -
Linux系统调用列表
其中有一些函数的作用完全相同,只是参数不同。(可能很多熟悉C++朋友马上就能联想起函数重载,但是别忘了Linux核心是用C语言写的,所以只能取成不同的函数名)。还有一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数在前面标上“*”号以示区别。 一、进程控制: for转载 2006-08-25 08:34:00 · 2718 阅读 · 1 评论 -
Linux信号列表
我们运行如下命令,可看到Linux支持的信号列表:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV转载 2006-08-25 08:35:00 · 59660 阅读 · 4 评论