返回信息流网上看到的一个嵌入式工程师应聘测试题,请教一下
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #1303同步于 2008/9/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
预处理器标识 #error 的目的是什么?
yihang
2008/9/19镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
2.#error指令
该指令用于程序的调试,当编译中遇到#error指令就停止编译。其一般形式为:
#error 出错信息
出错信息不加引号,当编译器遇到这个指令时,显示下列信息并停止编译。
Fatal: filename linename error directive
能把题目转过来吗?我有兴趣
【 在 lester98 的大作中提到: 】
: 2.#error指令
: 该指令用于程序的调试,当编译中遇到#error指令就停止编译。其一般形式为:
: #error 出错信息
: ...................
已经转过来了,单独开了几贴
这个是用于编译的时候么?
如果程序没问题,只是加了这么一句,它也停止编译么?
error用于条件编译,当条件不符合时,能影响到继续编译,此处应加入error代码,用于停止编译。
Q:如果程序没问题,只是加了这么一句,它也停止编译么?
A:我觉得将停止编译,但是没试过。
#error指令 语法格式如下:
#error token-sequence
其实就是在编译的时候输出编译错误信息token-sequence,从方便程序员检查程序中出现的错误。
简单的例子
#include "stdio.h"
int main(int argc, char* argv[])
{
#define CONST_NAME1 "CONST_NAME1"
printf("%s\n",CONST_NAME1);
#undef CONST_NAME1
#ifndef CONST_NAME1
#error No defined Constant Symbol CONST_NAME1
#endif
......
return 0;
}
在编译的时候输出如编译信息
fatal error C1189: #error : No defined Constant Symbol CONST_NAME1