[ZLG-ARM] 关于#ifdef

[复制链接]
 楼主| yuanyin 发表于 2007-5-26 13:38 | 显示全部楼层 |阅读模式
lpc2000的模板里,target.c文件里有这么一段话:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;TargetResetInit(void)<br />{<br />#ifdef&nbsp;__DEBUG&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;MEMMAP&nbsp;=&nbsp;0x3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//remap<br />#endif<br /><br />#ifdef&nbsp;__OUT_CHIP&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;MEMMAP&nbsp;=&nbsp;0x3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//remap<br />#endif<br /><br />#ifdef&nbsp;__IN_CHIP&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;MEMMAP&nbsp;=&nbsp;0x1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//remap<br />#endif<br /><br />里面的“#ifdef&nbsp;__DEBUG”“#ifdef&nbsp;__OUT_CHIP”“#ifdef&nbsp;__IN_CHIP”<br />表示条件编译,可是我在别的文件里并不能找到对“__DEBUG”“__OUT_CHIP”“__IN_CHIP”的定义,那编译器是如何判断的呢??
quben 发表于 2007-5-26 15:07 | 显示全部楼层

说一下我的理解

条件编译语句<br /><br />如在工程中有类似下面的语句<br />&nbsp;&nbsp;&nbsp;#define&nbsp;__DEBUG&nbsp;&nbsp;&nbsp;&nbsp;1<br />则编译器处理#ifdef里面的语句<br /><br />如果没有#define的定义,则忽略那些语句<br /><br />主要是便于维护和移植
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

15

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部