477// for information about this. Thus, on both 32 and 64 bit platforms,
478// %l refers to 32 bit data while %ll refers to 64 bit data.
479
480 #ifndef __STDC_FORMAT_MACROS
481 #define __STDC_FORMAT_MACROS
482 #endif
483
484 #if defined(EA_COMPILER_MSVC) || defined(EA_COMPILER_BORLAND) // VC++ 7.1+ understands long long as a data type but doesn't accept %ll as a printf specifier.
485 #define EA_PRI_64_LENGTH_SPECIFIER "I64"
486 #define EA_SCN_64_LENGTH_SPECIFIER "I64"
487 #else
488 #define EA_PRI_64_LENGTH_SPECIFIER "ll"
489 #define EA_SCN_64_LENGTH_SPECIFIER "ll"
490 #endif // It turns out that some platforms use %q to represent a 64 bit value, but these are not relevant to us at this time.
670#elif defined(EA_PLATFORM_UNIX) || defined(EA_PLATFORM_MINGW) || defined(__APPLE__) || defined(_BSD_SIZE_T_) // _BSD_SIZE_T_ indicates that Unix-like headers are present, even though it may not be a true Unix platform.