如何测试是否支持类似uint64_t的类型?

时间:2012-12-29 01:49:05

标签: c

如何测试编译器是否支持某种类型?像uint64_t一样说。我可以用某个参考来学习如何测试任何给定类型吗?

很难通过搜索引擎找到它。我尝试过“C测试数据类型”等等。

2 个答案:

答案 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