問題:
相互矛盾的資訊表明' long' 在64 位元Windows 電腦上可能不是64 位元。這是真的嗎?程式設計師應該用什麼來代替?
答案:
答案在於檢查64 位元平台上不同的整數大小排列:
ILP64(Int、Long、指針是64位元)
LP64(長整型,指針都是 64 位元)
LLP64(Long Long,指標為 64 位元)
對 Windows 的影響:
在 64 位元 Windows 上,「long」確實是 32 位元,與其他 64 位元平台。 Microsoft 採用了 LLP64 方案來確保與現有 32 位元應用程式的相容性。
建議:
為了確保平台中立的程式碼,請使用
謹慎使用使用系統類型(例如「長」)不同平台有所不同。僅使用 intptr_t 作為兩個 uintptr_t 值相減的結果。
結論:
64 位元 Windows 上 'long' 的位元大小為 32 位元,偏離許多其他 64 位元系統使用的 LP64 方案。為了避免特定於平台的複雜性,程式設計師應該採用平台中立的整數類型並小心處理系統類型。
以上是在 64 位元 Windows 上,「long」真的是 64 位元嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!