这个GNU C,C ++宏的扩展是什么?

时间:2015-01-15 19:20:15

标签: c++ c gnu

这些C宏扩展到了什么?

#define PERIPH_BASE           ((uint32_t)0x40000000)
#define AHB2PERIPH_BASE       (PERIPH_BASE + 0x08000000)
#define GPIOA_BASE            (AHB2PERIPH_BASE + 0x0000)
#define GPIOB_BASE            (AHB2PERIPH_BASE + 0x0400)

#define BLINK_GPIOx(_N) (GPIO_TypeDef *)(GPIO_BASE +(GPIOB_BASE-GPIOA_BASE)*(_N)))
#define BLINK_PORT_NUMBER(4)

对此的调用是

 GPIO_SetBits(BLINK_GPIOx(BLINK_PORT_NUMBER), BLINK_PIN_MASK(8));

1 个答案:

答案 0 :(得分:1)

使用-E编译器的gcc选项查看预处理器输出。 示例:gcc -E program.c -o preprocessOutput.p 然后查看文件preprocessOutput.p

的内容