Разрядность платформы можно определять по размеру переменных, определенных в define-константах:
LONG_BIT
Number of bits in an object of type long.
Minimum Acceptable Value: 32
WORD_BIT
Number of bits in an object of type int.
Minimum Acceptable Value: 32
Эти константы заданы в стандартной библиотеке limits.h
Или можно использовать определения:
#if defined(__LP64__) || defined(_M_IA64)
printf("Platform 64\n");
#else
printf("Platform 32\n");
#endif
Где __LP64__ - для GCC 3.4 и старше, _M_IA64 - для msvc.