09 2013 档案

摘要:strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。void*memcpy(void*dest,constvoid*src,size_tcount); 1 char *strcpy(char * dest, const char * src) // 实现src到des 阅读全文
posted @ 2013-09-13 11:17 leechanx 阅读(281) 评论(0) 推荐(0) 编辑
摘要:由于循环队列的特殊性,当队首指针=队尾指针的时候,既可能表示空也可能表示满,所以需要另加一个判断位。我现在介绍的循环队列判断满空的三种方法分别是:1.设标志位法 2.预留一位法; 3.预存长度法(顾名思义,很简单)1.设标志位法 思路:预设一个标志,tag,初值=0,每当入队成功,tag=1;每当出队成功,tag=0;那么,当front==rear && tag 则表示“在入队操作之后front=rear”,显然入队造成的f=r的原因就是满了,故 front==rear && tag 表示队列满;同理,front==rear && !tag 表示 阅读全文
posted @ 2013-09-12 12:29 leechanx 阅读(8634) 评论(0) 推荐(0) 编辑
摘要:众所周知,进程间通信有三种方式,信号量、消息队列和共享内存。不过信号量个人感觉不像通信,其实就是一个锁的东西。共享内存,无非就是在内存段开辟一段小内存,返回地址,供以多个进程来使用,有的进程来这里存数据,有的进程来取数据。要使用一块共享内存,进程必须首先分配它。随后需要访问这个共享内存块的每一个进程都必须将这个共享内存绑定到自己的地址空间中。当完成通信之后,所有进程都将脱离共享内存,并且由一个进程释放该共享内存块。所有共享内存块的大小都必须是系统页面大小的整数倍。(4K*n)1.API:共享内存函数由shmget、shmat、shmdt、shmctl四个函数组成。按步骤如下:1shmget:i 阅读全文
posted @ 2013-09-05 17:44 leechanx 阅读(1503) 评论(0) 推荐(0) 编辑
摘要:众所周知,进程间通信有三种方式,信号量、消息队列和共享内存。不过信号量个人感觉不像通信,其实就是一个锁的东西。 这部分内容分几个部分 1.API 创建信号量 int semget(key_t key,int nsems,int semflg); 返回值就是信号量标识semid key:所创建或打开信号量集的键值。nsems:创建的信号量集中的信号量的个数,该参数只在创建信号量集时有效。flag:调用函数的操作类型,也可用于设置信号量集的访问权限,两者通过or表示 操作信号量 int semctl(int semid,int semnum,i... 阅读全文
posted @ 2013-09-05 16:04 leechanx 阅读(2347) 评论(0) 推荐(0) 编辑
摘要:1本来在代码里包含了pthread.h 第一次编译:gcc -o create create.c 提示错误 未定义的引用2后来知道linux标准库没有pthread.h 要链接之-lpthread 第二次编译:gcc -o create -lpthread create.c 仍然提示错误 未定义的引用!3再后来。。。。。发现,-lpthread应该写在末尾 第三次编译:gcc -o create create.c -lpthread 编译成功。。。。。 阅读全文
posted @ 2013-09-03 15:49 leechanx 阅读(9270) 评论(0) 推荐(2) 编辑
摘要:需要注意的是,open打开FIFO文件的时候,open函数里的flag参数 O——NONBLOCK:置位: 如果“只写”方式打开文件,写进程会阻塞直到有一个读进程来读这个FIFO管道。就是说:没有进程来读文件,则写进程会阻塞在open语句。所以要read和write两个程序一起运行才能顺利运行O_NONBLOCKWhen opening a FIFO with O_RDONLY or O_WRONLY set:* If O_NONBLOCK is set, an open() for reading-only shall return without delay. An open() for 阅读全文
posted @ 2013-09-02 11:47 leechanx 阅读(1998) 评论(0) 推荐(0) 编辑