Я ищу способ достоверно определить, скомпилирован ли код С++ в 32 и 64 бит. Мы придумали разумное решение с использованием макросов, но было любопытно узнать, могут ли люди думать о случаях, когда это может закончиться неудачей или если есть лучший способ сделать это. Обратите внимание, что мы пытаемся сделать это в кросс-платформенной среде с несколькими компиляторами.
#if ((ULONG_MAX) == (UINT_MAX))
# define IS32BIT
#else
# define IS64BIT
#endif
#ifdef IS64BIT
DoMy64BitOperation()
#else
DoMy32BitOperation()
#endif
Спасибо.