2014年1月13日

Linux C 下的大文件操作

摘要: 这里说的大文件指大小超过4G的文件。在32位环境下,linux默认打开、读、写超过4G的文件会返回错误。定义如下宏可以突破这个限制,对read/write和fread/fwrite同时有效。注意它必须定义在所有头文件之前。#ifndef _FILE_OFFSET_BITS#define _FILE_OFFSET_BITS 64#endif或者在编译时添加如下参数:-D_FILE_OFFSET_BITS=64-D_LARGEFILE_SOURCE或者使用函数fopen64,但是该函数我的测试机上没有找到相关的说明,所以在我这里不可用。_FILE_OFFSET_BITS的定义简单来说就是在32位机 阅读全文

posted @ 2014-01-13 16:23 anzhsoft 阅读(349) 评论(0) 推荐(0) 编辑

Linux 共享内存 详解

摘要: 一、什么是共享内存区共享内存区是最快的可用IPC形式。它允许多个不相关的进程去访问同一部分逻辑内存。如果需要在两个运行中的进程之间传输数据,共享内存将是一种效率极高的解决方案。一旦这样的内存区映射到共享它的进程的地址空间,这些进程间数据的传输就不再涉及内核。这样就可以减少系统调用时间,提高程序效率。共享内存是由IPC为一个进程创建的一个特殊的地址范围,它将出现在进程的地址空间中。其他进程可以把同一段共享内存段“连接到”它们自己的地址空间里去。所有进程都可以访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会立刻被有访问同一段共享内存的其他进程看到。要注意的是共享内存本身没有提 阅读全文

posted @ 2014-01-13 14:27 anzhsoft 阅读(342) 评论(0) 推荐(0) 编辑

导航