У меня наивный вопрос об использовании нескольких атрибутов в стиле GNU.
Технические характеристики говорит: Спецификатор атрибута имеет форму атрибут ((список-атрибутов)). Список атрибутов - это, возможно, пустая последовательность атрибутов, разделенных запятыми.
Теперь предположим, что я хочу аннотировать функцию, используя два "атрибут ((annotate (" xxx ")))"
Я могу это сделать так:
void __attribute__((annotate("a"))) __attribute__((annotate("b"))) fff(){}
Но, похоже, у меня так не получается:
void __attribute__(annotate("a"), annotate("b")) fff(){}
Мне было интересно, как мне сделать это, как вторую форму, так как она более лаконична.
Заранее спасибо!





Вы почти у цели - просто добавьте еще пару скобок:
void __attribute__((annotate("a"), annotate("b"))) fff(){}
// ^ ^