O_LargeFileは、大きなファイルを書くためだけに必要ですか?
-
04-10-2019 - |
質問
それは O_LARGEFILE
私がやりたいことがすべて大きなファイルを書くことだけが必要な場合、フラグが必要です(O_WRONLY
)または大きなファイルに追加します(O_APPEND | O_WRONLY
)?
「タイトル」というタイトルを読んだスレッドから」> 2GBインデックスファイルを書き込むことはできません「Clucene-Devメーリングリストでは、 O_LARGEFILE
大きなファイルを書くには必要かもしれませんが、その議論の参加者は使用しています O_RDWR
, 、 いいえ O_WRONLY
, 、だから私はよくわかりません。
解決
O_LARGEFILE
アプリケーションで直接使用しないでください。 64ビットオフセット互換バージョンのバージョンで内部で使用することです open
libcでは、syscallをカーネル(Linux、またはおそらくこの64ビットオフセットモードIS-A-A-cecond-Citizen Nonsenseで別のカーネル)にするとき。必ず含めるようにしてください -D_FILE_OFFSET_BITS=64
あなたの中で CFLAGS
そして、あなたは何も心配する必要はありません。
他のヒント
あなたがそうするならiirc
#define _LARGEFILE_SOURCE
#define _FILE_OFFSET_BITS 64
他のすべての前に、このフラグを渡す必要はありません。
所属していません StackOverflow