-1

最近在看android的libc-init代码。当我阅读第malloc_debug_leak.cpp70 行和第 263 行中的代码时,它说如下。

#define GUARD               0x48151642 
static uint32_t MEMALIGN_GUARD      = 0xA1A41520;

我知道GUARDand的MEMALIGN_GUARD意思,但我真的不明白值的含义,例如static uint32_t MEMALIGN_GUARD = 0x0001是OK?或任何其他值。有什么0xA1A41520有用的信息吗?</p>

http://i.stack.imgur.com/9lgzv.png

http://i.stack.imgur.com/ZMM5u.png

4

1 回答 1

0

我真的不明白价值的含义

这是一个神奇的值,旨在捕捉常见的编程错误。有关详细说明,请参阅此维基百科文章

0x0001好吗?

不,它缺乏“不太可能被误认为其他含义的独特独特价值”属性。

当您0x1在某个位置内存中看到值时,该值很可能由许多不同的代码序列放置在那里。另一方面,当您看到 时0xA1A41520,该值不太可能(尽管仍然可能)由使用的代码以外的代码放置在那里MEMALIGN_GUARD

于 2014-12-25T00:52:28.883 回答