我试图将传统32位代码移植到64位。因为我们有这样一个工会:将遗留代码移植到C++中的64位
union ptType
{
int * iPtr;
short * sPtr;
long * lPtr;
bool * bPtr;
double * dPtr;
};
正如你所猜测的,这个联合是用来存储所有这些类型的地址。我已经阅读了大量的指针大小和64位算术改变。但我不太确定这种行为。此代码似乎在质量保证工作,但我更关心生产,因为它会在那里的巨大流量。
如何移植到64位会影响代码的行为?
你还没有告诉我们当前的行为的代码,所以我们怎么知道它会如何改变? –
数据类型本身没有行为。 ptType是一个数据类型。当其他代码使用时,我会有行为。那么您关心的是什么用法?您可以使用您关心的工会发布代码吗? – user93353
我的担心是枚举指针被存储,随后使用int指针进行访问。它在这种特殊情况下会如何表现?我们正在运行的编译器将所有指针设置为相同大小。但我认为它不能保证。 – naveen