如何测试编译器是否支持某种类型?像uint64_t一样说。我可以用某个参考来学习如何测试任何给定类型吗?
很难通过搜索引擎找到它。我尝试过“C测试数据类型”等等。
答案 0 :(得分:13)
您可以查看:
在包含UINT64_MAX
。之后定义了 stdint.h
宏
如果您不确定是否支持c99或更高版本,您也可以将其封在支票__STDC_VERSION__
中>= 199901L
。请注意,C89 / C90中也没有__STDC_VERSION__
宏。
从标准(强调我的):
(C99,7.18p4)“对于本文所述的实现提供的每种类型,224)应声明typedef名称并定义相关的宏。相反,对于此处描述的实现不提供的每种类型,不得声明typedef名称,也不得定义相关的宏。“
答案 1 :(得分:2)
尝试使用它 - 如果没有编译器错误,你将会遇到编译错误。 uint64_t
等类型位于stdint.h
。