概述
#error message:编译器遇到此命令时停止编译,并将参数message输出。该命令常用于程序调试。
#error指令 语法格式如下:
#error token-sequence
编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其目的就是保证程序是按照你所设想的那样进行编译的。
下面举个例子:
程序中往往有很多的预处理指令
#ifdef XXX
...
#else
#endif
当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:
#ifdef XXX
...
#error "XXX has been defined"
#else
#endif
这样,如果编译时出现错误,输出了XXX has been defined,表明宏XXX已经被定义了。
其实就是在编译的时候输出编译错误信息token-sequence,从方便程序员检查程序中出现的错误。
简单的例子
#include "stdio.h"
int main(int argc, char* argv[])
{
#define CONST_NAME1 "CONST_NAME1"
printf("%sn",CONST_NAME1);
#undef CONST_NAME1
#ifndef CONST_NAME1
#error No defined Constant Symbol CONST_NAME1
#endif
......
return 0;
}
在编译的时候输出如编译信息
fatal error C1189: #error : No defined Constant Symbol CONST_NAME1
转自: http://hi.baidu.com/jixin11a/blog/item/f10f2aae0dd6bdc47cd92a2a.html
最后
以上就是孝顺雨为你收集整理的预处理器命令#error的全部内容,希望文章能够帮你解决预处理器命令#error所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复