c语言中#if defined是什么含义 怎么用

 我来答
Real_Adam
推荐于2017-11-24 · TA获得超过2923个赞
知道小有建树答主
回答量:739
采纳率:0%
帮助的人:404万
展开全部
应该是#ifdef和#ifndef,这是条件编译的宏定义

一般程序在调试过程的编译跟正式发行的时候是不一样的,调试过程中可能有很多测试语句是用户不需要的,但是如果一行行删掉或者注释掉又很麻烦,并且如果发行之后又需要修改BUG又要用到之前的测试,重写也是很麻烦的。于是可以考虑用条件编译。

首先可以写一个宏定义来表示是否按调试模式编译
#define DEBUG
然后需要写测试语句的时候都这样写
#ifdef DEBUG
测试语句
#endif
意思是,如果DEBUG已经被定义,则编译时将以下语句编译,否则忽略,这样,只需要把#define DEBUG这一句注释掉,编译器就可以忽略所有测试语句,而只要去掉注释,编译器又会把这些测试语句编译,非常方便。

#ifndef类似,就是如果此标识符没有被定义过,则编译下列语句。

还有疑问欢迎追问。
匿名用户
2011-07-05
展开全部
这些都是给编译器的预处理命令。(又叫宏)。
#if !defined -- 预处理命令条件语句开始,如果尚未声明(定义)什么头文件或变量名
#define -- 则声明(定义)这个头文件或变量名
#endif -- 预处理命令条件语句结束符

AFX_ICD_H__ED7170FE。。。-- 这是Afx头文件文件名, MFC的。
另外,站长团上有产品团购,便宜有保证
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2011-07-05 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
条件编译,预处理命令的一种
顾名思义,有条件的进行编译
详细的,见百度百科吧
http://baike.baidu.com/view/1995627.html?wtp=tt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式