предположим, у меня есть переменные:
int global a = 1;
int banana b = 2;
int mango c = 3;
Я хочу, чтобы GCC генерировал их так, чтобы:
.global
a .long 1
.banana
b .long 2
.mango
c .long 3
Какой самый простой способ сделать это?
Обновление:
Got:
__attribute__ ((section ("mmm"))) int a = 432;`
вместе с
target_asm_named_section()`
для генерации:
.global
a:
.long 1
Это здорово, но есть две проблемы.
Во-первых, если списки не упорядочены по разным разделам, вы получите повторные разделы.
так
__attribute__ ((section ("mmm"))) int a = 432;
__attribute__ ((section ("mmm"))) int b = 432;
__attribute__ ((section ("global"))) int c = 432;
это хорошо, но
__attribute__ ((section ("mmm"))) int a = 432;
__attribute__ ((section ("global"))) int c = 432;
__attribute__ ((section ("mmm"))) int b = 432;
плохо, потому что .mmm появится дважды.
Вторая проблема в том, что я уже использую атрибуты для
`__attribute__((global))`
, который, в меру моих попыток, не может быть объединен с предыдущим атрибутом.
Есть ли простой способ решить одну из этих двух проблем?