#define SIZEOF_UNSIGNED_SHORT_INT sizeof(unsigned short int)
#define SIZEOF_UNSIGNED_INT sizeof(unsigned int)
#define SIZEOF_UNSIGNED_LONG_INT sizeof(unsigned long int)
#if SIZEOF_UNSIGNED_SHORT_INT==4
typedef unsigned short u32;
#elif SIZEOF_UNSIGNED_INT==4
typedef unsigned int u32;
#elif SIZEOF_UNSIGNED_LONG_INT==4
typedef unsigned long u32;
#else
#error I need at least some 32-bit type
#endif
parse error
такой вот код:
В аффтаре сего кода и в отсутствии у него понимания того как работает препроцессор.