在查看Linux内核时,我注意到了这一行:
static void *malloc(size_t size) __maybe_unused;
Run Code Online (Sandbox Code Playgroud)
在Linux v3.2 /arch/frv/kernel/gdb_stub.c中.我以前从未见过__maybe_unused
用过.它是否特定于Linux内核?或者它是在C规范中定义的?它到底是做什么用的?
oua*_*uah 18
在宏include/linux/compiler-gcc.h
的定义__maybe_unused
:
#define __maybe_unused __attribute__((unused))
Run Code Online (Sandbox Code Playgroud)
在gcc
手册中,您有unused
函数属性的文档:
unused"此属性附加到函数,意味着该函数可能未使用.GCC不会对此函数发出警告."
http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html
和变量:
unused"此属性附加到变量,意味着该变量可能未使用.GCC不会对此变量产生警告."
http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html