如何通过预处理器指令检查unsigned long long
类型在当前编译环境中是否可用?检查是否有无符号long long可用
我试图检查
#if __STDC_VERSION__ >= 199901L
/* Available */
#else
/* Not available */
#endif
但用gcc编译,并至少在没有-std=
-compiler论证这导致“不avaibalble”(但会工作)。
是否有更好的宏来检查,以至少它可以与C99标准编译器和GCC没有-std=C99
?
不是最优雅的解决方案,但我的第一本能是检查'limits.h'头中是否存在'ULLONG_MAX'符号。 –
完成。我有点惊讶,你没有得到任何更好的答案。我想快速和肮脏的解决方案有时是最好的! –