当前位置:  技术问答>linux和unix

文件的最大偏移量问题

    来源: 互联网  发布时间:2016-07-11

    本文导语:  请问Linux下creat一个普通文件,文件的最大偏移量是多大啊!能不能通过修改某些内容来修改最大偏移量啊! | 因为lseek使用的偏移量是用off_t类型表示的,所以允许具体实现根据各自特定的平台自行 选择...

请问Linux下creat一个普通文件,文件的最大偏移量是多大啊!能不能通过修改某些内容来修改最大偏移量啊!

|
因为lseek使用的偏移量是用off_t类型表示的,所以允许具体实现根据各自特定的平台自行
选择大小合适的数据类型。现今大多数平台提供两组接口以处理文件偏移量:一组使用32
位文件偏移量,另一组则使用64位文件偏移量。

Single UNIX
Specification向应用程序提供了一种方法,使其通过sysconf函数确定何种环境受到支持(见
2.5.4节)。表3-1总结了定义的sysconf常量。
-------------------------------------------------------------------------------
|Name of option          |Description                    |name argument       |
|                        |                               |                    |
|_POSIX_V6_ILP32_OFF32   |int, long, pointer, and off_t  |_SC_V6_ILP32_OFF32  |
|                        |types are 32 bits.             |                    |
|                        |                               |                    |
|_POSIX_V6_ILP32_OFFBIG  |int, long, and pointer types   |_SC_V6_ILP32_OFFBIG |
|                        |are 32 bits; off_t types are   |                    |
|                        |at least 64 bits.              |                    |
|                        |                               |                    |
|_POSIX_V6_LP64_OFF64    |int types are 32 bits; long,   |_SC_V6_LP64_OFF64   |
|                        |pointer, and off_t types are   |                    |
|                        |64 bits.                       |                    |
|                        |                               |                    |
|_POSIX_V6_LP64_OFFBIG   |int types are 32 bits; long,   |_SC_V6_LP64_OFFBIG  |
|                        |pointer, and off_t types are   |                    |
|                        |at least 64 bits.              |                    |
-------------------------------------------------------------------------------

c99编译器要求使用getconf(1)命令,将所希望的数据大小模型映射为编译和连接程序所需的
标志。根据每个平台支持环境的不同,可能需要不同的标志和库。

不幸的是,在这一方面,实现没有跟上标准的步伐。使人更迷惑不解的是Single UNIX
Specification第2版和第3版之间更改了若干个名字。

为了避开这一点,应用程序可将符号常量_FILE_OFFSET_BITS设置为64,以支持64位偏移量。
这样处理后就将off_t定义更改为64位带符号整型。将_FILE_OFFSET_BITS符号常量设置为32
,就支持32位文件偏移量。但是,应当知道的是:虽然本书讨论的四种平台都支持32位和
64位文件偏移量,其方法是将_FILE_OFFSET_BITS符号常量设置为所希望的值,但并不保证这
是可移植的。

注意:尽管可以支持64位文件偏移量,但是否能创建一个大于2 TB(231-1个字节)的文件则依
赖于底层文件系统的类型。


http://www.unix.org/version2/whatsnew/lfs20mar.html 
如果在AIX或类似的平台上需要设置_LARGE_FILES 
所以建议适用Autoconf来进行自动配置. 
参考 mymtom

|
可以修改文件偏移量,最大偏移量依赖于文件大小,所以不能直接修改。

|
和32位还是64为的系统的有关吧

|
3楼比较专业。

我来个通俗的。他是跟具体文件系统类型有关的。比如你在fat32分区下只能创建出来2G的文件,在ntfs下就能创建出4G的文件。
同理在linux下,你在ext2分区和xfs分区上也是不一样的。

每一种类型的文件系统都有叫做superblock的东西。里面有好多东西,会影响到你的最大文件大小。比如一个文件的最大快数,块的单位,1024,还是2048,或者更大。

|
你是想问 创建一个文件的的最大长度?

|
3楼讲的比较详细

    
 
 

您可能感兴趣的文章:

  • 用什么linux命令能获取一个文件从某个偏移开始的size个字节的内容
  • 求教:关于一个文件偏移量问题
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 菜问题:请问如何根据文件中的一段内容查找文件路径和文件名称,在线等候
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • shell脚本剪切文件文件,并生成新文件的问题
  • 文件编码及UTF-8、BOM、0XFEFF相关问题
  • GUI问题:如何使用文件选择对话框保存文本文件,图像文件??
  • Java读写包括中文的txt文件时不同编码格式问题解决
  • 不解,上传文件后压缩文件的中文文件名问题,转码也不管用?
  • cocos2d中CCSpriteFrameCache文件同时存在两个plist的问题解决
  • docker中文入门学习手册 iis7站长之家
  • jsp文件访问jar文件,路径问题。
  • Linux www服务 文件夹内文件数量问题
  • 一个奇怪的问题:Red Hat 7.2下用mv复制-粘贴文件变成了剪切-粘贴文件,用mv -b也不行。而两周前同样的机器却没有出现这种问题。alias中m
  • 请问unix下修改文件和文件夹读写权限的问题
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • 关于在只读文件系统中,更新文件的问题
  • 高手请进:linux下使用.o文件,makefile文件的问题
  • 2个问题 急-共享文件夹和安装文件
  • 简单的问题,如何用命令 批量 删除某一目录下的 .o 文件?如何批量把只读文件改成可写文件?
  • 小问题, Unix 如何建立一个文件 ,unix 文件有后缀名吗
  • 文件夹或者文件权限问题?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 eof():如果处于文件结尾处则返回true
  • Shell脚本如何递归现实一个文件夹中的文件(文件夹中含有文件夹)
  • WinDows8最新版文件夹加密
  • 求命令:什么命令可以把文件夹下所有的文件按修改时间先后排出来,包括子文件夹里的文件。
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • python异常信息堆栈输出到日志文件
  • 请问:proc中的头文件中能包含头文件吗?(感觉如果头文件中包含头文件的话,在链接时就会有错误啊)
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊
  • 在MyEclipse中设开启xml文件自动提示和自动完成功能
  • vi 中编辑两个文件,怎样从其中一个文件拷一段内容到另一个文件中。(同时打开两个文件)
  • MyEclipse如何查看和设置文件编码格式相关操作
  • 怎么统计一个文件夹下有多少个文件(不包括文件夹)
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • linux 下的 .a 文件 .o 文件 是什么文件?各有什么作用?
  • 设置sharepoint 2010文档库中的 pdf文件在浏览器中访问的打开方式
  • 如何用socket一次传输多个文件,如何确定文件一个文件结束
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • 如何删除某个目录下除了指定文件夹之外的所有文件和文件夹
  • Linux_centos_redhat下tar命令解压tgz文件方法
  • solaris文件系统删除文件后文件夹大小不变


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3