我想了解64位編譯,所以我也C++ Builder中一個小的測試:64位系統上較大指針的好處是什麼?
int i = 12345;
ShowMessage(i);
int *pi = &i;
ShowMessage(sizeof(pi));
Largeint li = 9223372036854775807;
ShowMessage(li);
Largeint *pli = &li;
ShowMessage(sizeof(pli));
當我編譯該程序作爲64位時,指針的大小增加至8個字節( 64位)。
增加指針大小的優點是什麼?
一個'4'字節的指針只能尋址〜4GB的內存。在現代化計劃中,這可能會很快耗盡。 – BoBTFish
指針的大小通常只是反映底層系統。如果您使用的是32位系統,則可以獲得32位指針,而在64位系統中,您將獲得64位指針。其他任何東西都沒有意義。 –
當然,很多64位系統都有32位子系統。這意味着每32位進程有4 GB的限制,但總系統內存可以更多。 – MSalters