C语言#error命令,阻止程序编译

#error 指令用于在编译期间产生错误信息,并阻止程序的编译,其形式如下:
#error error_message
例如,我们的程序针对Linux编写,不保证兼容Windows,那么可以这样做:
 
  
  1. #ifdef WIN32
  2. #error This programme cannot compile at Windows Platform
  3. #endif
WIN32 是Windows下的预定义宏。当用户在Windows下编译该程序时,由于定义了WIN32这个宏,所以会执行 #error 命令,提示用户发生了编译错误,错误信息是:

This programme cannot compile at Windows Platform

这和发生语法错误的效果是一样的,程序编译失败。请看下面的截图:

VS2010 下的错误信息


C-Free 5.0 下的错误信息

需要注意的是:报错信息不需要加引号 " " ,如果加上,引号会被一起输出。例如将上面的#error命令改为:
#error "This programme cannot compile at Windows Platform"
那么错误信息如下:


再如,当我们希望以C++的方式来编译程序时,可以这样做:
 
  
  1. #ifndef __cplusplus
  2. #error 当前程序必须以C++方式编译
  3. #endif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值