C/C++几个预定义的宏_错误处理

#define FATAL do { fprintf(stderr, "Error at line %d, file %s (%d) [%s]\n", \
  __LINE__, __FILE__, errno, strerror(errno)); exit(1); } while(0)

上述一段错误处理的代码,里面用到几个C/C++预定义的宏

ANSI C标准中有几个标准预定义宏(也是常用的):

  • __LINE__:在源代码中插入当前源代码行号;
  • __FILE__:在源文件中插入当前源文件名;
  • __DATE__:在源文件中插入当前的编译日期
  • __TIME__:在源文件中插入当前编译时间;
  • __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;
  • __cplusplus:当编写C++程序时该标识符被定义。


编译器在进行源码编译的时候,会自动将这些宏替换为相应内容

猜你喜欢

转载自blog.csdn.net/zhangzhi2ma/article/details/82468562