博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一道面试题: 预处理器标识#error的目的是什么?
阅读量:6150 次
发布时间:2019-06-21

本文共 329 字,大约阅读时间需要 1 分钟。

编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其目的就是保证程序是按照你所设想的那样进行编译的。

下面举个例子:
程序中往往有很多的预处理指令
#ifdef XXX
...
#else
#endif
当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:
#ifdef XXX
...
#error "XXX has been defined"
#else
#endif
这样,如果编译时出现错误,输出了XXX has been defined,表明宏XXX已经被定义了。
用处就是这样,是不是感觉很没有用处?

转载地址:http://dtgya.baihongyu.com/

你可能感兴趣的文章
kube-proxy配置 ipvs模式
查看>>
SCOM 2012系列⑥邮件通知下
查看>>
如何在Ubuntu 11.10上连接L2TP ***
查看>>
Windows Server 2016-Active Directory域服务概述
查看>>
Open-E DSS V7 应用系列之八 远程访问和管理员密码恢复
查看>>
华为boss力荐公司高层看的一篇文章,很长很经典
查看>>
Oracle中ORACLE_SID,INSTANCE_NAME,DB_NAME几个名词的区别
查看>>
解决WebForm项目在高版本IE下控件显示异常的问题
查看>>
SQL Server 2014 许可证(四)许可证的变化
查看>>
Windows Server 2012之ISCSI目标服务器群集
查看>>
Windows下的磁盘管理(一)
查看>>
MongoDB聚合介绍
查看>>
Oracle 10g R2 数据库的克隆---物理拷贝克隆
查看>>
Android第四十七期 - WheelView沉浸式菜单栏
查看>>
freebsd find命令使用参数和Sed命令xargs命令详解
查看>>
WCF简单教程(9) 安全 - 自定义认证
查看>>
openfiler 存储配置
查看>>
PHP与Spring之间的强势接口设计:学习案例
查看>>
mysql 主从复制简单部署过程
查看>>
dbca静默方式卸载数据库
查看>>