预处理器标识#error的目的是什么?

由于是第一次用博客,先试一试.....................
回到原问题 预处理器标识#error的目的是什么?




编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其目的就是保证程序是按照你所设想的那样进行编译的。
下面举个例子:
程序中往往有很多的预处理指令
#ifdef XXX
.........
#else
................
#endif


当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:


#ifdef XXX
.............
#error "XXX has been defined"


#else
....................
#endif


这样,如果编译时出现错误,输出了XXX has been defined,表明宏XXX已经被定义了。
当然也可以用#pragma message("---main compied----") //打印信息伪指令 #pragma message
注:#pragma message 仅在keil编译器试过  
不同在于#error会停止编译报错,而#pragma message只是打印信息而已只要其他部分没错 会编译完成,
或者干脆在相应位置用串口形式输出也可...........
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值