Какова цель содержания информации о статических переменных в таблице символов?

Я пытаюсь понять тип установки .symtab для перемещаемых объектных файлов. И я знаю, что он содержит информацию о статических переменных. Но почему?

Все, что нам нужно сделать для связывания перемещаемых объектных файлов с некоторыми другими, это переместить адрес этой статической переменной (и некоторых других, конечно, но это не имеет значения для статических переменных). Итак, все, что нам нужно — это таблица релокации, которая хранится в .rel.data и содержит всю информацию для релокации статической переменной, не так ли?


person Jofsey    schedule 16.03.2012    source источник


Ответы (2)


Но для отладки может быть весьма полезно знать, где находятся переменные.

person jeb    schedule 16.03.2012

Не уверен в вашем компиляторе, но для Компилятор IBM AIX, по умолчанию статические переменные в таблицу символов не добавляются.

Тем не менее, для отладки весьма полезно, скажем, для gdb знать, что содержат статические переменные и связанные с ними символы, чтобы иметь смысл их появление там.

person Community    schedule 16.03.2012