摘要:
http://blog.sina.com.cn/s/blog_818dc7aa0100v3n3.html操作共享内存,我们用到了下面的函数==============================================#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>int shmid = shmget( key_t shmkey , int shmsize , int flag );(void *)shmaddr = shmat( int shmid , char *sh 阅读全文
摘要:
系统建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值。通常情况下,该id值通过ftok函数得到。ftok原型如下:key_t ftok( char * fname, int id )fname就时你指定的文件名(该文件必须是存在而且可以访问的),id是子序号,虽然为int,但是只有8个比特被使用(0-255)。当成功执行的时候,一个key_t值将会被返回,否则 -1 被返回。 在一般的UNIX实现中,是将文件的索引节点号取出,前面加上子序号得到key_t的返回值。如指定文件的索引节点号为65538,换算成16进制为 0x010002,而你指定的ID值为38,换算成16进制为0x26, 阅读全文
摘要:
关于Linux中select的一个简单事例:#include <stdio.h>#include <sys/select.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>int main(){ int keyboard; int ret; fd_set readfds; char key; struct timeval timeout; char *path = "/dev/tty"; k 阅读全文
摘要:
看到这个标题无论你是处于怎样的心理进来看了,我觉得都是值得的。因为这个问题太简单,任何一个开始接触“真正”算法基本都是从二分查找开始的。至于二分查找都不知道是什么的可以先去找别的资料看下,再来看这篇文章。既然很简单,那么我们开始一起写一个吧,要求是对num[]={1,2,2,4,4,8,10}不减序列在区间[0,7)进行查找,当然我们得首先保证要查找的数e满足:num[0] <= e <= num[0],这个是很容易做到的,为了简化又不失去代表性,e选取2、3、4这三个数。我们就一起开始写吧: 首先,很容易的写下 int bSearch(int begin, int end, in 阅读全文