Chinaunix首页 | 论坛 | 博客
  • 博客访问: 394747
  • 博文数量: 85
  • 博客积分: 2571
  • 博客等级: 少校
  • 技术积分: 716
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-19 15:04
个人简介

重新开始,做回自我,爱拼的男人最牛!

文章分类
文章存档

2020年(3)

2019年(17)

2014年(1)

2011年(1)

2010年(63)

我的朋友

分类: C/C++

2019-12-17 16:16:52

#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
阅读(224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~