
"Beman" == Beman Dawes <bdawes@acm.org> writes: Beman> The implementation would go something like this:
Beman> #if defined( BOOST_WINDOWS ) Beman> // use the Windows native API; file_offset_type is long long. Beman> ... Beman> #else Beman> #define _FILE_OFFSET_BITS 64 // this may or may not do anything Beman> // use stat(); file_offset_type is same as off_t, Beman> // which may be 32-bits on 32-bit platforms which don't Beman> // respond to _FILE_OFFSET_BITS Beman> ... Beman> #endif All files must be compiled with the same _FILE_OFFSET_BITS. You don't want to get binary incompatible objects just because one happened to include the above header[1] and the other didn't. ~velco [1] The program may have reasons to use struct stat independed of the presence of boost.