Относительно MMU и файла компоновщика gcc по умолчанию для статически связанных программ

Это цитата из ARM ARM® Cortex™-A Series, Версия: 4.0, Руководство программиста, стр. 9-1.

«MMU позволяет писать задачи или приложения таким образом, чтобы они не знали о карте физической памяти системы или о других программах, которые могут выполняться одновременно».

Мой вопрос связан с программами Linux, которые мы компилируем через gcc. Я не хочу использовать динамическую компоновку, поэтому, пожалуйста, считайте, что программа связана статически. Я был программистом встраиваемых систем, и в основном у нас есть один файл компоновщика для всего проекта. на основе кода/данных файла компоновщика помещаются в оперативную память. Но в случае с Linux, когда я компилирую и связываю любое приложение c, используя gcc (статически связанное), я не предоставляю никакого файла компоновщика.

Вопрос в том, как Linux решает, где разместить/загрузить мою программу в памяти. Есть ли у него файл компоновщика по умолчанию для всех приложений?


person nagla    schedule 01.06.2016    source источник
comment
Кажется, вы, ребята, не используете никаких операционных систем для своих проектов, не так ли?   -  person rakib_    schedule 01.06.2016


Ответы (1)


Конечно, у GNU LD есть сценарий компоновщика по умолчанию. Вы даже можете это увидеть. Просто поставьте

-Wl,--многословный

в командную строку GCC.

person Konstantin Vladimirov    schedule 01.06.2016