【发布时间】:2020-11-15 20:09:25
【问题描述】:
我试图在 C (gcc, C11) 中显示这个
#define xstr(a) _str(a)
#define _str(a) #a
#pragma message "System clock = " xstr(SYS_CLOCK)
现在 SYS_CLOCK 是一个宏,根据预分频器、除法器等的值进行计算
但是消息没有计算出来
#pragma message: System clock= ((8000000u/4)*50)/4
总比没有好 :) 但实际上,如果我能显示 25000000 Hz,我会非常高兴。
可以用一些预处理魔法来完成吗?
谢谢,
【问题讨论】:
-
很可能无法完成,因为我知道的所有预处理器都不进行计算。您是否查看了标准以了解需要什么?此外,GCC 文档是怎么说的?如果它的预处理器会进行计算,我希望它会被记录在案。
标签: c gcc macros c-preprocessor