Раздел MIPS .data программы? - PullRequest
       11

Раздел MIPS .data программы?

1 голос
/ 29 октября 2011

Я не понимаю, для чего предназначен раздел .data?Это сравнимо с желанием сказать у = 8?Не могли бы вы просто загрузить непосредственное значение 8 в какой-нибудь регистр, который был бы таким же?

1 Ответ

4 голосов
/ 30 октября 2011

Это для хранения, ну, ммм, данных .

Типичная программа будет иметь несколько разделов:

  • .text → для кода (текст программы)
  • .rodata → для данных только для чтения
  • .data → для данных
  • .bss → для неинициализированных данных
  • ...

C глобальные переменные и статические локальные переменные переходят в .data или .bss (они создаются при загрузке программы и уничтожаются по окончании программы, их время жизни - полное выполнение программы). Локальные переменные C попадают в стек (они создаются при входе в функцию и уничтожаются при выходе из функции), память C, выделенная malloc(), попадает в кучу (они создаются и уничтожаются динамически программистом, их время жизни динамический).

...