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\