#define printf(format , ...) printf("FILE[%s] LINE[%d]" format , __FILE__ , __LINE__ , ##__VA_ARGS__)
这个宏应用好几个技巧:
1、使用printf宏,和原来的printf相同。这样我们不需要修改源码,直接替换原来的printf的函数。
2、使用__VA_ARGS__宏,直接使用可变参数
3、使用"FILE[%s] LINE[%d]" format,改变原来的格式串,直接添加了__FILE__, __LINE__的宏。