2012-01-02 62 views
2

请问有人可以解释一下,这个O_LARGEFILE选项的确支持打开大文件。 并可以有任何与-D_FILE_OFFSET_BITS=64标志编译的副作用。换句话说,当用这个选项编译时,我们必须确定一些东西。大文件支持

+0

[O_LARGEFILE是否需要编写大文件?](http://stackoverflow.com/questions/2888425/is-o-largefile-needed-just-to-write-a-large-file ) – 2012-01-02 14:09:34

回答

0

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

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

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)

+0

Aghh ...回答两次而不是编辑。什么......? – 2012-01-02 14:11:14