32ビットLinuxシステムで2 GB以上のファイルにアクセス


32ビットLinuxシステムで2 GB以上のファイルにアクセス
一、問題
1、ファイルを開く:
Open関数を使用して2 GBを超えるファイルを開く場合、戻り値は-1で、ファイルを開くのに失敗したことを示します.
2、書類を書く:
書き込みファイルサイズが2 GBの場合、ファイルへの書き込みはできません.
二、解決方法:
1.ソースファイルでヘッダファイルを参照する前にマクロを定義する
#define _FILE_OFFSET_BITS 64
#define  _LARGEFILE_SOURCE
#include <unistd.h>

2、コンパイルコマンドラインでマクロを定義する
gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE test.c -o test