首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是"__maybe_unused"?

什么是"__maybe_unused"?
EN

Stack Overflow用户
提问于 2012-10-18 04:31:13
回答 2查看 11.3K关注 0票数 19

在查看Linux内核时,我注意到这一行:

代码语言:javascript
复制
static void *malloc(size_t size) __maybe_unused;

在LinuxV3.2中,/arch/frv/kernel/gdb_stub.c。我以前从未见过使用__maybe_unused。它是否特定于Linux内核?或者它是在C规范中定义的?它到底是做什么的呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-18 04:36:05

include/linux/compiler-gcc.h中有__maybe_unused宏的定义:

代码语言:javascript
复制
#define __maybe_unused  __attribute__((unused))

gcc手册中,您有函数的unused属性的文档:

unused“该属性附加在函数上,表示该函数可能未使用,GCC不会对该函数产生警告。”

http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html

对于变量:

unused“该属性附加到一个变量后,表示该变量可能未被使用,GCC不会对该变量产生警告。”

http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html

票数 24
EN

Stack Overflow用户

发布于 2012-10-18 04:35:14

commit that introduced the attribute:

如果由于预处理器宏求值而可能未引用

__maybe_unused,则将其定义为__attribute__((未使用)),用于函数和变量。如果函数的实际定义依赖于预处理器宏,则函数原型应标记为__maybe_unused。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12942877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档