G CC автоматическая группировка переменных и разделов кода - PullRequest
0 голосов
/ 05 мая 2020

Мой linux C проект имеет простой make-файл, который компилирует и связывает несколько модулей.

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

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

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

1 Ответ

0 голосов
/ 06 мая 2020

с помощью файла 'команды компоновщика' вы можете разместить все именно так, как хотите.

Однако с gcc автоматически определяется несколько разделов.

В разделе .text есть весь исполняемый код. В разделе .data есть все предопределенные данные. В разделе .bss есть все переменные.

Есть еще несколько разделов, в основном для специальных целей

Вышеупомянутое представляет собой несколько упрощенный обзор, однако данные и код НЕ будут связаны вместе, как вы указываете. Среди прочих причин, потому что переменные и код требуют разных параметров для страниц памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...