1

cで大きなファイル(> 10 GB)を処理するにはどうすればよいですか(少なくともそれらを読み取る)?私は 64 ビット マシンを持っていないため、コンパイラ オプション
-D_FILE_OFFSET_BITS=64は機能しません。

4

1 に答える 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 ページで推奨される解決策を参照してください)。readreadwritelseek64#define _LARGEFILE64_SOURCElseek64lseek

于 2013-04-23T19:43:45.707 に答える