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

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

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


下面举个例子:

程序中往往有很多的预处理指令

#ifdef XXX

...

#else


#endif


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


#ifdef XXX

...

#error "XXX has been defined"


#else


#endif


这样,如果编译时出现错误,输出了XXX has been defined,表明宏XXX已经被定义了。



用处就是这样,是不是感觉很没有用处?

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

你可能感兴趣的文章
初探AngularJS6.x---目录结构说明
查看>>
kafka解决了什么问题?
查看>>
android流式布局、待办事项应用、贝塞尔曲线、MVP+Rxjava+Retrofit、艺术图片应用等源码...
查看>>
ppwjs之bootstrap文字排版:<pre>元素 [scroll](预格式元素 [带滚动条)
查看>>
Spring经典的面试题,你值得拥有!
查看>>
Ember.js 属性值模糊查询
查看>>
squid配置
查看>>
OSChina 周三乱弹 —— 生活要懂得苦中作乐
查看>>
前端那些事之react--redux篇
查看>>
Ubuntu 16.04 U盘安装过程
查看>>
UIApplication、AppDelegate、委托
查看>>
hadoop单机安装
查看>>
Android实用笔记——使用GridView以表格的形式显示多张图片
查看>>
内部类使用外部类的成员属性
查看>>
基于const的重载
查看>>
虹软AI 人脸识别SDK接入 — 性能优化篇(多线程)
查看>>
Spark examples 源码解析 (Spark SQL)
查看>>
无线路由器软件开发面试-曙光
查看>>
mac os x 查看网络端口情况
查看>>
编写shell脚本处理test文件
查看>>