【发布时间】:2011-08-25 16:16:09
【问题描述】:
我正在使用 Debian Squeeze,并注意到内存总是归零。这是 linux 发行版中的新功能吗?前段时间,我相信我可以使用 puts() 并且会输出垃圾。
我多次运行此测试程序,但注释结果始终相同。 (我在 sysctl.conf 中有 randomize_va_space=2,所以我知道每次运行都会使用不同位置的内存。)
char *a = malloc(50000000);
a[49999999] = '\0';
puts(a); // it outputs nothing since all are zeroes
printf("%p\n", a);
if(a[5000] == '\0') // this condition is always true
{
puts("It is a nul char.");
}
是否可以让系统不为零内存?这个 Debian 挤压安装可以激活哪些选项,总是零内存?
【问题讨论】:
标签: c memory-management linux-kernel