使用gcc在32位计算机上处理大文件

使用gcc在32位计算机上处理大文件,gcc,32-bit,Gcc,32 Bit,如何使用c处理大文件(>10GB)(至少读取它们)?我没有64位机器,因此编译器选项 -D\u FILE\u OFFSET\u BITS=64将不起作用。这可能是 既然您提到了GCC,我就假设是Linux、Solaris或类似的东西。如果你在Windows上使用GCC,我不知道下面的说法是否成立 如果您只是用打开大文件并使用读取,只要您不试图将整个文件保存在内存中,并且读取的大小小于32位,那么它应该可以工作。同样适用于写入。如果您需要查找,请使用lseek64并使用\define\u LARG

如何使用c处理大文件(>10GB)(至少读取它们)?我没有64位机器,因此编译器选项

-D\u FILE\u OFFSET\u BITS=64将不起作用。

这可能是

既然您提到了GCC,我就假设是Linux、Solaris或类似的东西。如果你在Windows上使用GCC,我不知道下面的说法是否成立


如果您只是
打开
大文件
并使用
读取
,只要您不试图将整个文件保存在内存中,并且
读取的
大小小于32位,那么它应该可以工作。同样适用于
写入
。如果您需要查找,请使用
lseek64
并使用
\define\u LARGEFILE64\u SOURCE
进行编译(注意,
lseek64
并非完全标准,因此如果您不在Linux上,则
lseek
手册页将有望为您指明首选的解决方案)。

这看起来可能与

既然您提到了GCC,我就假设是Linux、Solaris或类似的东西。如果你在Windows上使用GCC,我不知道下面的说法是否成立

如果您只是
打开
大文件
并使用
读取
,只要您不试图将整个文件保存在内存中,并且
读取的
大小小于32位,那么它应该可以工作。同样适用于
写入
。如果需要查找,请使用
lseek64
并使用
\define\u LARGEFILE64\u SOURCE
进行编译(注意,
lseek64
并不完全是标准的,因此如果您不在Linux上,
lseek
手册页有望为您指明首选的解决方案)