大きなファイルのオープンをサポートするために、このO_LARGEFILE
オプションが正確に何を説明すればいいですか? そして、-D_FILE_OFFSET_BITS=64
フラグを付けてコンパイルすることによる副作用がありますか?言い換えれば、このオプションでコンパイルすると、何かを確認する必要があります。 man 2 open
から大きなファイルのサポート
2
A
答えて
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回答える。何? –
[大容量のファイルを書くのにO_LARGEFILEは必要ですか?](http://stackoverflow.com/questions/2888425/is-o-largefile-needed-just-to-write-a-large-file ) –