Вы можете использовать макросы
__WCHAR_MAX__
__WCHAR_TYPE__
Они определены gcc.Вы можете проверить их значение с помощью echo "" | gcc -E - -dM
Поскольку значение __WCHAR_TYPE__
может варьироваться от int
до short unsigned int
или long int
, лучше всего для ИМХО проверять, если __WCHAR_MAX__
выше 2 ^ 16.
#if __WCHAR_MAX__ > 0x10000
typedef ...
#endif