我想使用u_int64_t
变量作为搜索关键字,
u_int64_t
是否可在32位机器上使用?
如果没有,我必须将这个变量分成两个变量?然后作为搜索键,它有点麻烦
这有什么解决方法吗?
C标准不保证无符号64位整数类型,但通常在32位机器上以及几乎所有运行Linux的机器上都可用。如果存在,该类型将命名为uint64_t
(注意少一个下划线)并在<stdint.h>
头文件中声明。
是的32位计算机支持64位整数数据类型。
在C89标准中,长长(≥64,≥尺寸长)类型被支持为GNU extension。在C99标准中,长长度(≥64,≥长尺寸)整数存在native support。
根据一些文件或阅读其不太明确的__GLIBC_HAVE_LONG_LONG is the one that defines its presense in 32 bit architecture
使用的可能解决方案可能类似于下面的内容
#include <sys/types.h>
#ifdef __GLIBC_HAVE_LONG_LONG
u_int64_t i;
#endif
哦顺便说一句,这是在linux中