/*功能:调试开关 *描述:if条件成立,则打印调试信息,否则不打印() * */ #include#if 1 //为0时调试关闭, 为1时调试打开 #define DEBUG_OUT(fmt, args...) printf("file:%s func:%s line:%d ", __FILE__, __func__, __LINE__) #else #define DEBUG_OUT(fmt, args...) ((void)0) #endif int main(void) { int i; for(i = 0; i < 4; i++){ printf("i = %d ", i); } print(); DEBUG_OUT(); return 0; } int print(void) { printf("hello world ,每天进步一点点 "); DEBUG_OUT(); return 0; } 如上代码: 1)__FILE__ 打印出调试信息所在的文件名; 2)__func__ 将会打印出调试信息所在的函数名; 3)__LINE__ 将会打印出调试信息所在文件的行号; 运行结果: [root@embedclub test]# gcc -o debug debug.c [root@embedclub test]# ./debug i = 0 i = 1 i = 2 i = 3 hello world ,每天进步一点点 file:debug.c func:print line:28 file:debug.c func:main line:21