4

http://boost.2283326.n4.nabble.com/shared-ptr-segfaults-on-64bit-AMD-td2560441.htmlのような投稿を見たことがあります。専門家はポインターアドレスを見て、すぐにそれが無効であると言うことができます. これらのポインターは、プロセスの仮想メモリの既知の予約済みの場所にあると思います。上記のリンクの例は 0x90 でした。

ここの誰かが、Linux での gcc/g++ の確実に無効なポインター範囲について知っていますか?
どう0xd8ですか?

4

1 に答える 1

3

これに依存するコードを書くべきではありませんが、0x1000 未満のポインターはほとんど常に無効です。オペレーティング システムのデフォルトのメモリ マップに精通していると、その理由が説明され、「通常の」ポインタがどのように見えるかについての洞察が得られます。

于 2012-05-28T05:46:40.210 に答える