gpt4 book ai didi

c++ - 在 C++ 中将遗留代码移植到 64 位

转载 作者:行者123 更新时间:2023-11-30 02:56:18 26 4
gpt4 key购买 nike

我正在尝试将旧版 32 位代码移植到 64 位。因为我们有一个这样的 union :

union ptType
{
int * iPtr;
short * sPtr;
long * lPtr;
bool * bPtr;
double * dPtr;
};

正如您所猜到的,这个 union 用于存储所有这些类型的地址。我已经阅读了很多关于 64 位指针大小和算术变化的内容。但我不太确定这种行为。这段代码似乎在 QA 中有效,但我更担心生产,因为它会在那里产生巨大的流量。

移植到 64 位将如何影响代码的行为?

最佳答案

你是对的,在大多数 32 位到 64 位的转换下,这些指针的大小都会加倍。这个 union 本身的操作不太可能成为问题,但您必须留意它通过类型转换、硬编码大小等方式与其他代码交互的地方。

关于c++ - 在 C++ 中将遗留代码移植到 64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15730720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com