Indeed PellesC doesn't actually have _ftell64 and _fseek64
Worst _ftello use 64 bits offset only for programs compiled for 64 bits, so you can't have large file handling with 32 bits programs.
The only workaround is to use the WinAPI SetFilePointer (
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365541(v=vs.85).aspx), but this is definitly not standard (M$ extension).
Anyway if you use the more standard border _ftello and _fseeko the program is limited in the 32 bits compile, but fully working in the 64 bit version.
This problem comes from the necessity to mantain standard compatibility, if the type used by fseek/ftell wuld be changed to long long types old pieces of sotware would not compile or not be compatible. Even if the problem should be limited becouse the compiler would convert between the returned long long to the coded long variables showing a warning of possible conversion overflow.
Now is clear why GCC create an explicit switch to extend file pointers to 64 bits
EDIT:
I was wrong. PellesC provide _lseek64 and _ltell64 using file handle. These routines should be available also on other compilers
It sounded strange that Pelle have not considered the issue....