系统定义的宏

__VA_ARGS__

作用:一个可变参数的宏,它是新的C99规范中新增的,宏前面加上##的作用在于:当可变参数的个数为0时,这里的##起到把前面多余的”,”去掉,否则会编译出错。

__FILE__

作用:宏在预编译时会替换成当前的源文件名

__LINE__

作用:宏在预编译时会替换成当前的行号

__FUNCTION__

作用:宏在预编译时会替换成当前的函数名称