12

大きなファイルの書き込み ( ) または大きなファイルへの追加( ) だけを行う場合、O_LARGEFILEフラグは必要ですか?O_WRONLYO_APPEND | O_WRONLY

私が読んだCLucene-dev メーリング リストの「 Cannot write >2gb index fileO_LARGEFILE 」というタイトルのスレッドから、大きなファイルを書き込む必要があるようですが、その議論の参加者はO_RDWRではなくを使用しているO_WRONLYため、よくわかりません。

4

2 に答える 2

16

O_LARGEFILEアプリケーションが直接使用しないでください。openこれは、カーネル(Linux、またはこの64ビットオフセットモードが2番目のクラスである別のカーネル)へのシステムコールを行うときに、libcの64ビットオフセット互換バージョンによって内部的に使用されます。 -市民のナンセンス)。-D_FILE_OFFSET_BITS=64常にあなたに含めるようにしてくださいCFLAGS。そうすれば、何も心配する必要はありません。

于 2010-08-06T16:53:09.757 に答える
12

もしそうならIIRC

#define _LARGEFILE_SOURCE
#define _FILE_OFFSET_BITS 64

他のすべてのインクルードの前に、このフラグを渡す必要はありません。

さらに見る

于 2010-05-22T14:42:18.653 に答える