linux中打开大文件的问题(大于4G)
来源:互联网 发布:核磁共振碳谱常用数据 编辑:程序博客网 时间:2024/04/25 02:48
http://blog.csdn.net/akerlis/article/details/2223476
打开一个大于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)
我用的是第三种,没有问题。
0 0
- 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文件
- 从数学语言到编程语言
- 设计模式之抽象工厂模式06
- AlertDialog两三事
- swift 3.0 第3-6章中文
- hive大数据倾斜总结
- linux中打开大文件的问题(大于4G)
- 源码分析foreach效率比for循环高
- 成员方法重载
- DateBase数据库连接
- bootstrap的网格系统
- Qt中xml文件的使用
- android service 之二(IntentService)
- 运输妹子【NOIP2016提高A组模拟9.10】
- VC中CList用法