映射文件到内存

摘要: 参考《Linux高级程序设计》函数mmap()将某个文件的指定内容映射到内存空间中,从而提供不同与一般的普通文件操作方式,进程可以像读写内存一样对普通文件进行操作。普通文件被映射到进程地址空间后,进程可以像访问普通内存一样对文件进行访问,不必再调用read,write等操作。简单地说,就是把一个文件的内容在内存里做一个映像,加快访问速度。函数声明如下:1 #include <sys/mman.h>2 void* mmap(void* start,size_t length,int prot,int flags,int fd,off_t offset)此函数将在进程的虚拟地址空间(起 阅读全文
posted @ 2013-01-31 20:33 kkzone 阅读(1917) 评论(0) 推荐(0) 编辑

文件流定位

摘要: 参考 《Linux高级程序设计》在对文件流进行操作时,有一个指针指向流的当前读写位置,如果希望从特殊位置读写,则需要通过函数修改当前读写位置。(1) 返回当前读写位置ftell函数返回流的当前读写位置距离文件开始的字节数。函数声明如下:1 /*Return the current position of STREAM*/2 extern long int ftell(FILE* _stream)如果执行成功,将返回当前指针位置距离文件开始的字节数,如果失败,返回-1。(2) 修改当前读写位置使用fseek函数可以修改当前读写位置。函数声明如下:1 /*Seek to a certain pos 阅读全文
posted @ 2013-01-30 17:03 kkzone 阅读(585) 评论(0) 推荐(0) 编辑

Linux里的tar打包器

摘要: 如果要发布包含大量程序和文档的程序,则需要对其进行打包压缩。在shell命令下,可以使用的文件压缩工具有:gzip,bzip2,zip。相应的压缩和解压工具如下表所示。压缩解压工具文件类型压缩工具解压工具.gzgzipgunzip.bz2bzip2bunzip2.zipzipunziptar类型的文件是几个文件和(或)目录在意个文件中的集合,tar命令用来创建备份和归档。tar使用的选项如下:-c: 创建一个新归档-x: 从归档中抽取文件-j: 压缩/解压bz2格式的tar文件-z: 压缩/解压gz格式的tar文件-f: 当与-c选项一起使用时,创建的tar文件使用该选项指定的文件名;当与-x 阅读全文
posted @ 2013-01-28 00:20 kkzone 阅读(205) 评论(0) 推荐(0) 编辑

二叉查找树

摘要: 参考: 《算法导论》一棵随机构造的二叉查找树的期望高度为O(logn),从而这种树上基本动态集合操作的平均时间为logn.红黑树是二叉查找树的一种变形。二叉查找树的性质:设x为二叉查找树中的一个节点.如果y是x的左子树中的一个节点,则key[y]<=key[x].如果y是x的右子树中的一个节点,则key[y]>=key[x].由二叉查找树的性质可知,中序遍历可以顺序输出树中的所有关键字。 1 /*中序遍历二叉查找树*/ 2 InOrder_Tree_Walk(x) 3 { 4 if(x!=NULL) 5 { 6 InOrder_Tree_Walk(left[x]... 阅读全文
posted @ 2013-01-25 21:49 kkzone 阅读(174) 评论(0) 推荐(0) 编辑