大文件支持

时间:2012-01-02 14:06:14

标签: linux

有人可以解释一下,这个O_LARGEFILE选项究竟是为了支持打开大文件。 编译-D_FILE_OFFSET_BITS=64标志会产生任何副作用吗?换句话说,当用这个选项编译时,我们必须确定一些东西。

2 个答案:

答案 0 :(得分:1)

来自man 2 open

   O_LARGEFILE
          (LFS)  Allow  files  whose  sizes  cannot  be  represented  in  an  off_t (but can be represented in an off64_t) to be opened.  The _LARGE‐
          FILE64_SOURCE macro must be defined in order to obtain this definition.  Setting the _FILE_OFFSET_BITS feature test  macro  to  64  (rather
          than   using  O_LARGEFILE)  is  the  preferred  method  of  obtaining  method  of  accessing  large  files  on  32-bit  systems  (see  fea‐
          ture_test_macros(7)).

编辑:(即RTM:P)

答案 1 :(得分:0)

使用_FILE_OFFSET_BITS优先于O_LARGEFILE。这些用于32位系统,允许打开文件,使其超出32位文件指针的范围。

不,你不需要做任何特别的事情。如果您使用的是64位Linux,那么无论如何都没有任何区别。