我是靠谱客的博主 孝顺雨,最近开发中收集的这篇文章主要介绍预处理器命令#error,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部