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

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语言入门阶段,往高手见谅。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。