Сборка Linux;bss раздел памяти инициализирован на 0? - PullRequest
3 голосов
/ 28 ноября 2010

В тестах, которые я запускал, память в разделе bss моих программ всегда инициализировалась на ноль, прежде чем я что-то там написал.Это случайно или система «чистит» эти страницы памяти перед тем, как передать их мне?Я использую ассемблер nasm в Ubuntu (если это может иметь значение).

Ответы [ 2 ]

3 голосов
/ 28 ноября 2010

Исполняемый файл вашего приложения (ELF) содержит информацию о размере раздела BSS, при запуске ядро ​​выделяет блок памяти для раздела BSS и очищает его до 0. Это определяется ABI (двоичный интерфейс приложения), поэтомуне нужно беспокоиться о том, что они разные на разных машинах.

0 голосов
/ 28 ноября 2010

Да BSS инициализируется нулем.

...