C 在 32 位上定义 64 位

标签 c c-preprocessor

如果我这样做:

#define TIMEFIXCONST 11644473600

在 32 位机器上,它会溢出还是会存储为 long long 并仍然正常工作?我应该只定义一个全局 unsigned long long 并使用它吗?

最佳答案

宏只是文本替换,不能溢出宏。
这取决于你以后在哪里分配 TIMEFIXCONST。

但根据经验,如果需要,使用常量时请使用 const intconst long long

关于C 在 32 位上定义 64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1645819/

相关文章:

c - 为什么这个 shellcode 会导致段错误?

c++ - 由于地址错误导致执行失败

c++ - 我怎样才能找到从a[x][y]到任何a[v][w]的最短路径?

c - 为什么stddef.h 不在/usr/include 中?

c++ - 是否有 C++ 预处理器指令的在线手册?

c - 为什么我的 strcmp() 失败了?

c - POSIX 部分写入()

c - C 程序中设置的预处理器指令值

c++ - #define 和 const 的分配

C 预处理器将标识符视为类对象而不是类函数