【发布时间】:2021-10-01 22:30:24
【问题描述】:
是否可以在编译时确定实现是否提供精确宽度的整数类型?示例代码(需要):
#include <stdint.h>
#if HAS_EXACT_WIDTH_INTEGER_TYPES
uint32_t i;
#else
/* handle the case */
#endif
问题原因:编写适应性代码,如果实现不提供精确宽度的整数类型,则不会导致编译时错误。
【问题讨论】:
-
那么为什么不只是
#ifdef UINT32_MAX -
@KamilCuk 对,谢谢!同样的方法用于判断一个实现是否支持
_Float16:#ifdef FLT16_MAX。