Могу ли я поместить полное пространство имен в определенный раздел?

Я работаю над встроенным проектом и должен поместить полный раздел нашего кода в определенную область памяти. Мы используем avr-gcc.
Обычный способ — это сказать GCC поместить функцию в раздел с:

__attribute__((__section__(".text_sdram"))) void foo(void);

Однако это стоило бы нам много усилий плюс шанс «забыть» одну функцию.
Мы используем C ++, и все функции, которые должны быть в .text_sdram, помещаются в определенное пространство имен.
Можно ли поместить полное пространство имен в определенный раздел?

Заранее спасибо за ваши ответы.

Pieter

2

Решение

В соответствии с атрибуты функции атрибут видимости может быть присоединен к пространству имен, но он не похож ни на что другое. Вы можете попробовать присоединить атрибут section к вашему пространству имен, используя тот же синтаксис, который описан для наглядности. Я не ожидаю, что это сработает, и если это не так, я вполне уверен, что нет хорошего ответа. Если все ваше пространство имен определено в одном модуле или может быть реорганизовано таким образом, вы можете решить эту проблему с помощью сценария компоновщика.

0

Другие решения

Других решений пока нет …