Атрибут section("section-name")
помещает переменную в определенный раздел, создавая следующую строку ассемблера:
.section section-name,"aw",@progbits
Когда вы устанавливаете section-name
в ".myVarSection,\"aw\",@nobits#"
, вы используетевид " внедрение кода " в GCC для получения:
.section .myVarSection,"aw",@nobits#,"aw",@progbits
Обратите внимание, что знак #
начинает однострочный комментарий.
См. GNUРуководство по сборке для полного описания директивы .section
.Общий синтаксис:
.section name [, "flags"[, @type[,flag_specific_arguments]]]
, поэтому "aw"
- это флаги:
- a : раздел выделяется
- w: раздел доступен для записи
и @nobits
является типом:
- @ nobits : раздел не содержит данных (т. Е.раздел занимает только пространство)
Все вышеперечисленное также применимо к функциям , а не только к переменным.