如何使用 GNU 风格的多个属性

how to use multiple attributes with GNU style

我有一个关于使用 GNU 风格的多个属性的幼稚问题。

specification 说: 属性说明符的形式为 attribute ((attribute-list))。属性列表可能是空的逗号分隔的属性序列。

现在,假设我想使用两个“属性((annotate("xxx")))”

来注释一个函数

我可以这样做:

void __attribute__((annotate("a"))) __attribute__((annotate("b"))) fff(){}

但是,我好像不能那样做:

void __attribute__(annotate("a"), annotate("b")) fff(){}

我想知道如何像第二种形式那样做,因为它更简洁。

提前致谢!

您快完成了 - 只需添加另一对括号:

void __attribute__((annotate("a"), annotate("b"))) fff(){}
//                ^                              ^