我正在运行以下简单的C程序:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv){
void *p = malloc(4);
fprintf (stderr, "p==%p\n", p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
不同的运行给出不同的结果
p == 0x101c010
那么:p == 0x1ad9010
那么:p == 0xe77010
所以.
我记得,过去malloc是完全确定的.所以可能从某个版本开始,malloc会添加一些随机性.我现在在Ubuntu上使用gcc-4.6.3.
有没有办法消除这种随机性?