标签:宏
可变参数宏
__VA_ARGS__:总体来说就是将左边宏中 ... 的内容原样抄写在右边 __VA_ARGS__ 所在的位置
也就是说
define debug(a,b,c... ) printf(a,b,c,__VA_ARGS_)
等于是对于不确定有多少的变量都可以先明确调用
c库中的特殊宏
__FILE__,编译时定义为当前的文件名
__LINE__ ,编译时定义为当前的行数
__FUNCTION__编译时定义为当前的函数名
printf(“ %s \n”,__FUNCTIOM__)
就可以打印出来当前的函数名 对于调试很有作用
## 连接符
#define A abc##def
A ==> abcdef
#替代符
# stringified 把字符# 右边的 宏参数 转换为字符串 "argument"
等于把参数字符串化
example:
#define str(a) #a
str(ADD(x)) ==> "ADD(x)"
标签:宏
原文地址:http://blog.csdn.net/weiwei_xiaoyu/article/details/41865443