[英]change data type between 32 bit to 64 bit
我需要在C ++中的不同OS版本之间更改数据类型。 是否可以在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位)。
缺点是您必须将已经使用的所有类型都更改为代码,但是您的代码肯定更可移植。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.