2012-01-02 3 views
2

大きなファイルのオープンをサポートするために、このO_LARGEFILEオプションが正確に何を説明すればいいですか? そして、-D_FILE_OFFSET_BITS=64フラグを付けてコンパイルすることによる副作用がありますか?言い換えれば、このオプションでコンパイルすると、何かを確認する必要があります。 man 2 openから大きなファイルのサポート

+0

[大容量のファイルを書くのにO_LARGEFILEは必要ですか?](http://stackoverflow.com/questions/2888425/is-o-largefile-needed-just-to-write-a-large-file ) –

答えて

0

使用_FILE_OFFSET_BITS。これらは32ビットシステムで使用され、ファイルを開くことができ、32ビットファイルポインタの範囲を超えることができます。

いいえ、特別な操作は必要ありません。あなたが64ビットLinuxであれば、とにかく違いはありません。

1

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)O_LARGEFILEに優先して

+0

Aghh ...編集する代わりに2回答える。何? –