c++ - 指针值 0x7c7c7c7c 的特殊含义

标签 c++ linux pointers

在调试 Linux 应用程序时,我发现了一个具有可疑值 0x7c7c7c7c 的指针。该特定值是否表示任何内容?

(我问是因为我从我的 MSVC 时代知道在调试版本中,像 0xcdcdcdcd 或 0xdddddddd 这样的值将被存储到未初始化、释放或其他无效的堆 block 中。有些人使用像 0xdeadbeef 或 0xcafebabe 这样的魔法值未初始化的内存。我猜 libc 或其他地方的某些东西使用 0x7c7c7c7c 作为魔法值,但我找不到它的文档。)

最佳答案

我不认识那个神奇的数字,Wikipedia 也不认识。 .我猜想您的程序(或您正在使用的库中)中的某些代码正在使用 memset() 并点击您的指针。您是否在代码库中对字符串“0x7c”进行了不区分大小写的 grep?

关于c++ - 指针值 0x7c7c7c7c 的特殊含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/359553/

相关文章:

c++ - 如何访问谷歌测试 fixture 静态变量

c++ - 运算符重载 "equal to"

c++ - #elif 定义时没有括号

c++ - 如果两者的工作方式相同,则使用 void func(struct myStruct s) 和 void func(myStruct s) 有什么区别?

c - 获取打开设备的文件路径

在 centOS 上访问 SAP GUI 时出现 JavaFX 错误

c - 如何清除 scanf 读取的内容?

c++ - 何时使用引用与指针

c - 使用指针和指向指针的指针分配内存

c - 为什么 "code"与 "name"相同?