2014-01-23 6 views
0

Может ли кто-нибудь сказать мне, что такое «текстовый сегмент» на C, и, если возможно, показать мне простой пример?Сегменты памяти в C - текстовом сегменте

+2

сегменты не являются концепциями программирования, они как код и данные выкладываются в исполняемых файлах и в памяти при запуске программы. Взгляните на документацию для вашего линкера на некоторые возможные подсказки. – woolstar

ответ

4

Сегмент «текст» программы в системах Unix - это код - машинный код, функции, составляющие программу (включая, в частности, main(), если программа написана на C или C++). Он также может включать данные только для чтения. Другие сегменты в классической программе - это сегмент данных и сегмент «bss». Сегмент «данных» содержит инициализированные данные; сегмент «bss» содержит обнуленные данные. После запуска данные и сегменты bss неразличимы.

Вы также получаете стек и «кучу».

+1

Да, я понял все остальные сегменты памяти. Так исправьте меня, если я ошибаюсь main() в c-программе - это текстовый сегмент? –

+1

'main()' является _in_ текстовым сегментом; так и функции, которые он вызывает. –

+0

Отлично, вот что я хотел знать :) –

 Смежные вопросы

  • Нет связанных вопросов^_^