用于 32 位系统的 C++ 开发(无论是 Linux,Mac OS 或
window ,PowerPC
或 x86)我已经初始化了指针
否则将是未定义的(例如,他们不能立即
得到一个合适的值)像这样:
int *pInt = reinterpret_cast<int *>(0xDEADBEEF);
(为了节省输入和成为 DRY 右侧通常会 保持不变,例如BAD_PTR。)
如果 pInt 在获得正确值之前被取消引用,那么 它会在大多数系统上立即崩溃(而不是 当某些内存被覆盖或消失时,会在很久以后崩溃 进入一个很长的循环)。
当然,行为取决于底层 硬件(从奇数中获取 4 字节整数 来自用户进程的地址 0xDEADBEEF 可能是完美的 有效),但是对于所有的崩溃都是 100% 可靠的 到目前为止我开发的系统(Mac OS 68xxx,Mac OS PowerPC, Linux Redhat Pentium, Windows GUI Pentium, Windows 控制台奔腾)。例如在 PowerPC 上它是非法的(总线 fault) 从一个奇数地址获取一个 4 字节整数。
这在 64 位系统上有什么好的值(value)?
最佳答案
0xBADC0FFEE0DDF00D
关于c++ - 0xDEADBEEF 相当于 64 位开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1258051/