#define Test_Debug
#ifdef Test_Debug
#define DBG_ERR(fmt,args) printf(fmt,__FILE__,__FUNCTION__,__LINE__,##args)
#endif
void printf_erro(int a,int b)
{
if (a < b)
{
//DBG_ERR("%d\n",888);
//printf("%s %s %d %d\n", __FILE__, __FUNCTION__, __LINE__, a);
DBG_ERR("%s %s %d %d\n",6);
}
else
{
std::cout << "a >b" << std::endl;
}
}
void main()
{
int a = 3, b = 5;
printf_erro(a, b);
system("pause");
return;
}
测试结果:
c:\all_test\opencv_course\learing_opencv1\learing_opencv1\测试宏的可变参数.cpp printf_erro 16 6
打印的第一个参数: __FILE__ 代表是Log是在哪个文件打印的
打印的第二个参数:__FUNCTION__ 代表的是log 在哪个函数中打印的
打印的第三个参数:__LINE__ 代表的是log在哪一行打印的
打印的第四个参数:a 代表的是打印的变量信息