根据GCC's own documentation on variable attributes,声明未使用属性的正确语法是__attribute__((unused))
。
但是,在许多示例和其他在线代码中,我经常会看到__attribute__((__unused__))
,但它们似乎都有效。
是否有理由在任何一种情况下指定或省略__
?它有什么不同,是否有首选版本?是否存在使用one而不是其他可能导致问题的情况?
据推测,同样适用于其他属性参数?
答案 0 :(得分:11)
在the very page you linked的顶部,它会告诉您:
您也可以在前后指定“
__
”的属性 每个关键字。这允许您在没有的头文件中使用它们 担心可能的同名宏。例如, 您可以使用__aligned__
代替aligned
。
包含双下划线(__
)的标识符保留给实现。因此,没有用户程序可以合法地将它们定义为宏。