我試圖將傳統32位代碼移植到64位。因爲我們有這樣一個工會:將遺留代碼移植到C++中的64位
union ptType
{
int * iPtr;
short * sPtr;
long * lPtr;
bool * bPtr;
double * dPtr;
};
正如你所猜測的,這個聯合是用來存儲所有這些類型的地址。我已經閱讀了大量的指針大小和64位算術改變。但我不太確定這種行爲。此代碼似乎在質量保證工作,但我更關心生產,因爲它會在那裏的巨大流量。
如何移植到64位會影響代碼的行爲?
你還沒有告訴我們當前的行爲的代碼,所以我們怎麼知道它會如何改變? –
數據類型本身沒有行爲。 ptType是一個數據類型。當其他代碼使用時,我會有行爲。那麼您關心的是什麼用法?您可以使用您關心的工會發布代碼嗎? – user93353
我的擔心是枚舉指針被存儲,隨後使用int指針進行訪問。它在這種特殊情況下會如何表現?我們正在運行的編譯器將所有指針設置爲相同大小。但我認爲它不能保證。 – naveen