linux中打开大文件的问题(大于4G)
来源:互联网 发布:棋牌游戏数据库配置 编辑:程序博客网 时间:2024/04/20 02:05
前段时间写一个程序时遇到了打开一个大于4G的文件的问题,我开始是用标准C函数fopen来打开,在Windows下跑没有问题,但是移植到Linux下时,却出现打开文件错误,测试发现打开小文件没有问题,这可能跟系统的处理有关,仔细一想,Linux下不可能不支持大文件啊,应该有别的接口,所以上网查了一下,好不容易查到一个英文网页讲这个东西,叫LFS(Large file support),Linux的标准底层C库(Glibc2.2.3以上)实现了对大文件的支持,并且专为定义了一套API,具体在Linux下打开大文件的方法有以下三种:
1。编译时使用“gcc -D_FILE_OFFSET_BITS=64”选项,这样所有的文件操作都会使 用64位来处理(也即大文件处理)
2。define _LARGEFILE_SOURCE 和 _LARGEFILE64_SOURCE,这样可以直接使用LFS的 接口,如open64.
3。使用Linux系统函数open, 并且在打开文件的参数中加入O_LARGEFILE,即
open("fileName", O_RDONLY | O_LARGEFILE)
我用的是第三种,没有问题。
1。编译时使用“gcc -D_FILE_OFFSET_BITS=64”选项,这样所有的文件操作都会使 用64位来处理(也即大文件处理)
2。define _LARGEFILE_SOURCE 和 _LARGEFILE64_SOURCE,这样可以直接使用LFS的 接口,如open64.
3。使用Linux系统函数open, 并且在打开文件的参数中加入O_LARGEFILE,即
open("fileName", O_RDONLY | O_LARGEFILE)
我用的是第三种,没有问题。
- linux中打开大文件的问题(大于4G)
- linux中打开大文件的问题(大于4G)
- linux中打开大文件的问题(大于4G)
- Fat32文件格式不支持大于4G大文件的问题
- 解决Linux中在创建大于4g文件时遇到的File Size Limit Exceeded问题
- Linux下解压大于4G的zip文件
- linux fopen打开大于2G文件出错的解决方法 (踩了一个大坑)
- Linux 下 C语言大文件读写(大于4G)
- 【网摘】Linux 下 C语言大文件读写(大于4G)
- Linux 下 C语言大文件读写(大于4G)
- 处理大于4G的文件
- VC++ 大文件读写(大于4G)
- VC++ 大文件读写(大于4G)
- VC++ 大文件读写(大于4G)
- 解决NS3中打开XML文件提示NetAnim版本必须大于等于3.108的问题
- 关于fseek不能定位大于2G文件的问题
- linux下如何解压大于2G的zip文件
- linux下如何解压大于2G的zip文件
- 一匹马带来的慈悲与忏悔
- 想问问大家!觉得用人单位的要招人的标准是什么?
- c语言中的位运算〔转〕
- (转)sql常用方法
- freebsd高级I/O,kevent的资料很详细
- linux中打开大文件的问题(大于4G)
- 学习数据库:查看存储过程
- js操作xml实现下拉框联动
- 堪称目前最完整、最通俗易懂的系统服务解释及应用的文章
- 爱情从来就没有愚人节
- ocp 考试相关资料
- Spring的核心机制依赖注入简介
- 第一篇
- C++ this指针的理解