1. 打印错误信息 如果程序的执行必须要求某个宏被定义,在检查到宏没有被定义是可以使用#error,#warning打印错误(警告)信息,如: #ifndef __unix__ #error This section will only work on UNIX systems #endif 只有__unix__宏被定义,程序才能被正常编译。 2. 方便调试 __FILE, __LINE, __FUNCTION是由编译器预定义的宏,其分别代表当前代码所在的文件名,行号,以及函数名。 可以在代码中加入如下语句来跟踪代码的执行情况: if(err) { printf(%s(%d)-%s\