打印

一个基本的C语言问题

[复制链接]
1967|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yannyksr|  楼主 | 2007-5-30 08:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我发现csl_mcasphal.h里面有这样一个现象,:
  #define MCASP_RGETH(h,REG)
    MCASP_RGETA(MCASP_ADDRH(h,##REG),##REG)
  #define MCASP_RGETA(addr,REG)
    _PER_RGET(addr,MCASP,##REG)
  #define _PER_RGET(addr,PER,REG) 
    (*(volatile Uint32*)(addr))
请问:
1。为什么要把A定义成B又把B定义成C,直接定义成C不得了,要不然编译的时候直接替换掉以后中间那个岂不是没有意义吗?
2.在  #define _PER_RGET(addr,PER,REG) 
    (*(volatile Uint32*)(addr))里面,前者是三个参数,后者是变成取地址了,一个参数,那PER和REG岂不是没有任何作用?
好像是C语言的基本问题,有人能帮我解释一下吗?不胜感激!

相关帖子

沙发
dreambird| | 2007-5-30 12:55 | 只看该作者

re


写程序有一个要求就是方便阅读,这样维护起来简单,尽管有些对于编译器来说是没用的

使用特权

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

本版积分规则

7

主题

10

帖子

0

粉丝