打印
[ZLG-ARM]

关于#ifdef

[复制链接]
1491|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuanyin|  楼主 | 2007-5-26 13:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
lpc2000的模板里,target.c文件里有这么一段话:

        void TargetResetInit(void)
{
#ifdef __DEBUG    
    MEMMAP = 0x3;                   //remap
#endif

#ifdef __OUT_CHIP    
    MEMMAP = 0x3;                   //remap
#endif

#ifdef __IN_CHIP    
    MEMMAP = 0x1;                   //remap
#endif

里面的“#ifdef __DEBUG”“#ifdef __OUT_CHIP”“#ifdef __IN_CHIP”
表示条件编译,可是我在别的文件里并不能找到对“__DEBUG”“__OUT_CHIP”“__IN_CHIP”的定义,那编译器是如何判断的呢??

相关帖子

沙发
quben| | 2007-5-26 15:07 | 只看该作者

说一下我的理解

条件编译语句

如在工程中有类似下面的语句
   #define __DEBUG    1
则编译器处理#ifdef里面的语句

如果没有#define的定义,则忽略那些语句

主要是便于维护和移植

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

15

帖子

0

粉丝