определить программный раздел в коде C (GCC) - PullRequest
10 голосов
/ 19 августа 2010

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

.section foo

Как это можно сделать в коде C?Я хочу поместить фрагмент кода C в специальный раздел, а не в .text, поэтому я смогу поместить этот раздел в специальное место в скрипте компоновщика.1007 *

1 Ответ

17 голосов
/ 19 августа 2010

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

В GCC вы можете использовать атрибут section:

extern void foobar(void) __attribute__((section("bar")));

Существует ограниченная документация здесь , включая предупреждение:

Некоторые форматы файлов не поддерживают произвольные разделы, поэтому раздел атрибут доступен не для всех платформ. Если вам нужно отобразить все содержимое модуля в конкретный раздел, рассмотрите возможность использования Услуги компоновщика вместо.

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