预定义宏
#if defined(__linux)#ifdef LINUX2
C标准预定义宏
__LINE____func____FILE__NDEBUG:参考_DEBUG和NDEBUG的区别,其中,_DEBUG是Visual Studio定义的,NDEBUG是C/C++标准。
GNU C预定义宏
__COUNTER__: 扩展为从0开始的连续整数值,每次在源码中出现,则加1。不同源文件的__COUNTER__互不影响。可以用来生成唯一的命名。
参考链接。1
2
3
4
5
6
7
8
int main() {
int VAR(myvar); // 展开为 int myvar0;
int VAR(myvar); // 展开为 int myvar1;
int VAR(myvar); // 展开为 int myvar2;
}program_invocation_name:参考man page
#pragma
#pragma weak
Synopsis
1 |
#pragma weak means that even if the definition of the symbol is not found, no error will be reported.
Example
1 |
|