2012-01-02 95 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