linux中打开大文件的问题(大于4G)
来源:互联网 发布:新东方 邓剑波 知乎 编辑:程序博客网 时间:2024/05/02 05:39
前段时间写一个程序时遇到了打开一个大于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文件
- 第一关
- 【Dubbo之基本配置和运行(1)】zookeeper安装
- 每天小练笔1-周期串问题
- 数据结构作业
- MapReduce on HBase使用与集成
- linux中打开大文件的问题(大于4G)
- 尾递归
- shell实现的进度条
- ThinkPHP 5.数据库基本操作
- 面试
- Android学习参考链接收藏
- 【Unity】基于MVC模式的背包系统 UGUI实现
- foundation-NSValue
- xcode git 使用