2012-05-28 45 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下的指针几乎总是无效的。熟悉操作系统的默认内存映射将解释为什么,以及让您更深入了解“正常”指针的外观。