64位元Windows中'long'的位元大小
問題出現了:為什麼'long'在64位元上不是64位元像Windows 這樣的位機?本文深入探討了不同平台上整數大小調整的歷史與意義。
整數大小調整的歷史
在Unix 世界中,64 位元的兩種主要整數大小安排位元平台出現:ILP64(int、long、指針是64位元)和LP64(長、指針是64 位元) 64 位元)。 ILP64 被放棄,取而代之的是 LP64,後者成為 macOS X 和 Linux 等現代 64 位元 Unix 系統的標準。
微軟的 LLP64 方案
微軟採用 LLP64 ( long long,指針是64位元)對於64位元Windows,允許重新編譯32 位元軟體,無需更改。但是,這與其他 64 位元平台不同,需要進行額外的程式碼調整才能利用 64 位元功能。
平台中性整數類型
接近整數大小交叉-platform,C99標準提供了
Windows 的注意事項
由於 Windows 使用 LLP64,請務必注意「long」仍然是 32 64 位元機器上的位元。這在使用系統類型時需要小心,因為系統類型可能會偏離平台中立的整數類型。
結論
了解不同平台上整數大小調整的細微差別對於開發至關重要跨平台軟體。利用
以上是為什麼 64 位元 Windows 上不是「長」64 位元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!