GCC:"__ unused__"与变量属性中的"未使用"

Rio*_*iot 6 c++ gcc compiler-warnings

根据GCC自己的变量属性文档,声明未使用属性的正确语法是__attribute__((unused)).

但是,在许多示例和其他在线代码中,我经常看到__attribute__((__unused__)),它们似乎都起作用.

是否有理由__在任何一种情况下指定或省略?它有什么不同,是否有首选版本?是否存在使用一个而不是另一个可能导致问题的情况?

据推测,同样适用于其他属性参数?

T.C*_*.C. 11

您链接的页面的顶部,它告诉您:

您还可以使用' __'在每个关键字之前和之后指定属性.这允许您在头文件中使用它们,而不用担心可能的同名宏.例如,您可以使用__aligned__而不是aligned.

包含双下划线(__)的标识符保留给实现.因此,没有用户程序可以合法地将它们定义为宏.