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

change data type between 32 bit to 64 bit

本文关键字:数据类型 之间 位到      更新时间:2023-10-16

我需要在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

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

我建议使用stdint.h库。

事实上,您不再使用"int"类型,而是uint32_t用于 32 位无符号整数,uint64_t用于 64 位无符号整数。

此库为您提供其他类型。因此,通过使用它,您不必担心目标平台(32/64位)。

缺点是您必须将已经使用的所有类型更改为代码中,但是您将拥有一个绝对更具可移植性的代码。