iostream和大文件支持

Joe*_*Joe 7 c++ iostream stl large-file-support large-files

我试图找到一个明确的答案而不能,所以我希望有人知道.

我正在Linux(32位操作系统)上使用GCC 4.x开发一个C++应用程序.此应用程序需要能够读取大小> 2GB的文件.

我真的想使用iostream的东西和FILE指针,但我找不到大文件#defines(_LARGEFILE_SOURCE,_LARGEFILE64_SOURCE,_FILE_OFFSET_BITS = 64)对iostream标头有什么影响.

我正在编译32位系统.任何指针都会有所帮助.

vla*_*adr 8

libstdc++编译时已经为您决定了这一点,通常取决于是否_GLIBCXX_USE_LFS定义了c++config.h.

如果有疑问,请libstdc++.so通过readelf -r(或通过strings)传递您的可执行文件(或者,如果动态链接它),并查看您的二进制文件/ libstdc++链接fopen/ fseek/等.或fopen64/ fseek64/等.

UPDATE

只要您不需要/尝试fseekftell(您只是读取或写入流),您就不必担心2GB限制.