新手求解宏定义展开问题,谢谢高手回答.

2019-07-20 21:55发布

#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))
#define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr))
#define BIT_ADDR(addr, bitnum)   MEM_ADDR(BITBAND(addr, bitnum))



这个代码主要不明白#define BIT_ADDR(addr, bitnum)   MEM_ADDR(BITBAND(addr, bitnum))这条语句 是先展开MEM_ADDR 还是先展开BITBAND呢?
C语言入门阶段,往高手见谅。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
15904520807
1楼-- · 2019-07-20 22:40
 精彩回答 2  元偷偷看……
yyx112358
2楼-- · 2019-07-21 00:13
具体顺序还真不清楚,但是无论哪种顺序,展开之后都是一样的
灼灼其华
3楼-- · 2019-07-21 05:53
 精彩回答 2  元偷偷看……

一周热门 更多>