#undef GOOGLE_LONGLONG
#undef GOOGLE_ULONGLONG
#undef GOOGLE_LL_FORMAT
#ifdef _MSC_VER
#define GOOGLE_LONGLONG(x) x##I64
#define GOOGLE_ULONGLONG(x) x##UI64
#define GOOGLE_LL_FORMAT "I64" // As in printf("%I64d", ...)
#else
#define GOOGLE_LONGLONG(x) x##LL
#define GOOGLE_ULONGLONG(x) x##ULL
#define GOOGLE_LL_FORMAT "ll" // As in "%lld". Note that "q" is poor form also.
#endif
Зачем делать это и когда делать такие вещи?Зачем определять макросы перед их определением?
Почему вы используете Google в своих символьных именах? –
Возможно, это связано с http://protobuf.googlecode.com/svn-history/r300/trunk/src/google/protobuf/stubs/common.h – rwong