Saiz Bit Panjang pada Windows 64-Bit: Pandangan Lebih Dekat
Persoalan saiz panjang pada Windows 64-bit mempunyai mencetuskan sedikit kekeliruan. Walaupun dokumentasi menunjukkan bahawa panjang sememangnya 64-bit dalam persekitaran ini, realitinya lebih bernuansa.
Dalam alam sistem Unix, terdapat pelbagai susunan untuk saiz integer dan penunjuk pada platform 64-bit, terutamanya ILP64 dan LP64. Walau bagaimanapun, pendekatan Microsoft berbeza dengan LLP64.
ILP64 lwn. LP64
Type | ILP64 | LP64 | LLP64 |
---|---|---|---|
char | 8 | 8 | 8 |
short | 16 | 16 | 16 |
int | 64 | 32 | 32 |
long | 64 | 64 | 32 |
long long | 64 | 64 | 64 |
pointer | 64 | 64 | 64 |
Semua sistem Unix 64-bit moden menggunakan LP64, yang panjangnya ialah 64-bit. MacOS X dan Linux termasuk dalam kategori ini.
LLP64 dan Windows 64-Bit
Skim LLP64 Microsoft mengutamakan penyusunan semula perisian 32-bit tanpa pengubahsuaian. Akibatnya, pada sistem Windows 64-bit:
Kod Neutral Platform
Untuk mencapai kod neutral platform, adalah disyorkan untuk menggunakan jenis daripada C99
Dengan menggunakan jenis ini dalam anda kod, anda boleh menulis aplikasi yang bebas daripada saiz integer tertentu pada platform yang berbeza.
Kesimpulan
Walaupun panjang biasanya 64-bit pada sistem Unix, pada 64- bit Windows, ia kekal 32-bit kerana pendekatan LLP64 Microsoft. Dengan memahami konvensyen saiz integer yang berbeza dan menggunakan jenis neutral platform, pembangun boleh mencipta kod yang serasi merentas pelbagai sistem.
Atas ialah kandungan terperinci Adakah `long` Benar-benar 64-Bit pada Windows 64-Bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!