Linux下为使程序可以处理大文件的能力,在文件中可以添加:
#define -D_LARGEFILE_SOURCE
#define -D_LARGEFILE64_SOURCE
#define -D_FILE_OFFSET_BITS=64
在gcc编译时,加入的大文件(大于2G)支持参数:
gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -o x.o x.c
这些编译参数让编译后的程序支持64bit的系统调用操作,从而使程序处理没有2G文件的限制。
若使用Makefile,这些参数需用在编译命令中:
CXXFLAGS = -static -g -c -I$(INCLUDEDIR) -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
gcc $(CXXFLAGS) $(SOURCEFILE)