c++ - 在 32 位到 64 位之间更改数据类型

标签 c++

我需要在 C++ 中更改不同操作系统版本之间的数据类型。 是否可以将宏定义到 H 文件中。这是好的做法吗?

例如

if os_version=32
             long =long
    if os_version=64
              long =int

是否有任何宏/变量可以帮助我确定它是 64 位机器还是 32 位机器

最佳答案

您可以改用精确宽度的整数类型(在 <cstdint> 中声明)

int8_t
int16_t
int32_t
int64_t

这样,尺寸在所有提供它们的平台上都是固定的。

关于c++ - 在 32 位到 64 位之间更改数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14579421/

相关文章:

c++ - 从 Haskell 调用 C++ 时无法运行 `stack ghci`

c++ - 为什么 `accumulate` 没有进入 C++20 的范围?

c++ - 从链表顺利打印节点

c# - 桌面复制API捕获特定窗口

c++ - 使用 0xFFFFFFFF 是一种可靠的方法来设置 32 位类型的所有位吗?

c++ - 为什么 MinGW 会自动包含 <windef.h>

c++ - 与解析器无关的函数的灵气语义 Action 和参数

c++ - 处理与 TriggerSphere 和其他 Actor 的重叠?

c++ - 在单独的线程中处理 vector 元素

c++ - 什么是堆栈展开?