我正在尝试用C语言读取一个24GB的XML文件,但是无法成功。我使用ftell()函数打印出当前位置,在读取过程中,一旦到达足够大的数字,它就会返回到较小的数字并重新开始,甚至没有读取文件的20%。我猜测这是由于存储位置的变量范围(long)的问题,根据http://msdn.microsoft.com/en-us/library/s3f49ktz(VS.80).aspx,它可以达到约40亿,而我的文件大小为250亿字节。long long应该可以解决问题,但我该如何更改编译器(Cygwin/mingw32)使用或让它支持fopen64?