2012-05-28 46 views
3

我看到一些像http://boost.2283326.n4.nabble.com/shared-ptr-segfaults-on-64bit-AMD-td2560441.html這樣的帖子,專家可以看一個指針地址,並立即說它是無效的。我猜這些指針位於進程虛擬內存的某些已知保留位置。上述鏈接中的示例爲0x90。肯定無效的指針範圍

有人在這裏知道Linux上gcc/g ++的肯定無效的指針範圍嗎?
0xd8怎麼樣?

+0

一般來說,很難說指針是否無效,例如,在某些系統上,0xd8是有效的地址。唯一無效的地址是NULL(即零)。 –

回答

3

雖然不應該編寫依賴於此的代碼,但0x1000下的指針幾乎總是無效的。熟悉操作系統的默認內存映射將解釋爲什麼,以及讓您更深入瞭解「正常」指針的外觀。