link-warning.h

来自「开源备份软件源码 AMANDA, the Advanced Marylan」· C头文件 代码 · 共 29 行

H
29
字号
/* GL_LINK_WARNING("literal string") arranges to emit the literal string as   a linker warning on most glibc systems.   We use a linker warning rather than a preprocessor warning, because   #warning cannot be used inside macros.  */#ifndef GL_LINK_WARNING  /* This works on platforms with GNU ld and ELF object format.     Testing __GLIBC__ is sufficient for asserting that GNU ld is in use.     Testing __ELF__ guarantees the ELF object format.     Testing __GNUC__ is necessary for the compound expression syntax.  */# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__#  define GL_LINK_WARNING(message) \     GL_LINK_WARNING1 (__FILE__, __LINE__, message)#  define GL_LINK_WARNING1(file, line, message) \     GL_LINK_WARNING2 (file, line, message)  /* macroexpand file and line */#  define GL_LINK_WARNING2(file, line, message) \     GL_LINK_WARNING3 (file ":" #line ": warning: " message)#  define GL_LINK_WARNING3(message) \     ({ static const char warning[sizeof (message)]		\          __attribute__ ((__unused__,				\                          __section__ (".gnu.warning"),		\                          __aligned__ (1)))			\          = message "\n";					\        (void)0;						\     })# else#  define GL_LINK_WARNING(message) ((void) 0)# endif#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?