Я использую Debian squeeze и заметил, что память всегда обнуляется. Это новинка в дистрибутивах Linux? Некоторое время назад я полагал, что мог бы использовать put (), и на выходе был бы мусор.
Я запускаю эту тестовую программу много раз, но прокомментированные результаты всегда одни и те же. (У меня randomize_va_space = 2 в sysctl.conf, поэтому я знаю, что память в разных местах используется при каждом запуске.)
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 squeeze, что всегда нулевая память?