1. 连接符 1.1. 字符串转换# #用来把参数转换成字符串 1#define pr_var(var) printf(#var " is %d\n", var); 2 3int main(int argc, char **argv) 4{ 5 int a = 1, b = 2; 6 7 pr_var(a); 8 pr_var(b); 9 pr_var(a+b); 10} 1.2. 参数连接## 在宏中,##可以用于参数连接。 1#define regname(n) x ## n regname(8)会被展开成x8。 2. 可变参数 2.1. 可变参数__VA_ARGS__ __VA_ARGS__ 是一个可变参数的宏,这个可变参数...
1. 查看gcc预定义宏 在Linux下可以输入如下命令: 1gcc -posix -E -dM - < /dev/null window下,命令稍有不同 1gcc -posix -E -dM - < nul 1.1. 常见宏 macro desc __FILE__ 文件名 __LINE__ 行号 __func__ 函数名,早期版本为__FUNCTION__ __DATE__ 编译日期 __TIME__ 编译时间 __linux__ 编译平台是linux时定义