我想使用一个u_int64_t
变量作为搜索键,
u_int64_t
在 32 位机器上可用吗?
如果没有,我必须将此变量分成两个变量吗?那么作为搜索键,就麻烦一些了
有什么解决方法吗?
C 标准不保证无符号的 64 位整数类型,但通常在 32 位机器上以及几乎所有运行 Linux 的机器上都可用。当存在时,类型将被命名uint64_t
(注意少一个下划线)并在<stdint.h>
头文件中声明。
根据一些文档或阅读它不太清楚 __GLIBC_HAVE_LONG_LONG 是定义其在 32 位架构中的存在
可能的使用解决方案可能类似于以下内容
#include <sys/types.h>
#ifdef __GLIBC_HAVE_LONG_LONG
u_int64_t i;
#endif
哦,顺便说一句,这是在 linux 中