cで大きなファイル(> 10 GB)を処理するにはどうすればよいですか(少なくともそれらを読み取る)?私は 64 ビット マシンを持っていないため、コンパイラ オプション
-D_FILE_OFFSET_BITS=64
は機能しません。
質問する
380 次
1 に答える
1
これはRead a large file using C (greater than 4GB) using read functionの複製である可能性が高く、問題が発生します
あなたはGCCについて言及しているので、Linux、Solaris、または同様のものを想定しています。Windows で GCC を使用している場合、次のことが当てはまるかどうかはわかりません。
ファイル全体をメモリに保持しようとせず、サイズが 32 ビット未満であればopen
、ファイルだけO_LARGEFILE
を使用して を使用する場合、動作するはずです。についても同じです。シーク、使用、およびコンパイルが必要な場合(完全に標準ではないことに注意してください。Linux を使用していない場合は、 man ページで推奨される解決策を参照してください)。read
read
write
lseek64
#define _LARGEFILE64_SOURCE
lseek64
lseek
于 2013-04-23T19:43:45.707 に答える