Main R&D platform Programmers FAQ Files larger than 2 GB don't work (on Mac OS X)
|
|
|
Files larger than 2 GB don't work (on Mac OS X) |
|
It's a libstc++ bug fixed in g++ 3.4. All Operating systems can handle files larger that 2 GB these days. That means that in C++, we need file pointers larger than 32 bits. And yes, with the right definitions the file pointers will be 8 bytes. But, istreams and ostreams keep their own file offset. In g++ 2.96 this file offset was indeed kept in an 8-byte integer. For whatever reason we don't know, but the sad thing is that versions 3.x regressed back to 4-byte file offsets. The problem has been fixed (October 2003) in the 3.4 gcc tree, which is not the current Mac OS X version of gcc (and we think it's better to stick to that).
|
|
|