2015-04-01 2 views
0

Я прочитал сценарий компоновщика. У меня есть одна путаница относительно выделения памяти. , когда мы определяем раздел со стартом, где мы хотим загрузить файл.делает начальный адрес раздела в скрипте компоновщика применим только к виртуальной памяти

1) Имеются ли места памяти, которые мы указали, применимы к виртуальной памяти, например (. = 0x10000).

+0

Какая ОС и какой компоновщик? Возможно, GNU LD на Linux? Просьба уточнить, отредактировав текст и добавив теги! Кроме того, реальный сценарий, или, по крайней мере, соответствующий фрагмент, будет отличным. – hyde

+0

спасибо за это! это было именно то, что меня тоже смутило – kwagjj

ответ

0

в вашем скрипте компоновщика (и результирующем двоичном файле), адреса - это только адреса.

Независимо от того, являются ли они виртуальными или физическими, зависит только от вашего загрузчика (который может быть крошечным загрузчиком в раннем системном init, который не знает об виртуальных адресах или полномасштабной ОС, которая обеспечивает сложную виртуальную среду).

Так что это программа, которая приносит вашу двоичную информацию в память, которая решает, интерпретируются ли адреса практически или физически, а не скрипт компоновщика.

Если вы не сообщите нам о своей конкретной среде, мы не сможем рассказать вам больше.

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