【发布时间】:2014-11-27 05:15:12
【问题描述】:
是否可以编写一个从此调用生成的宏
WATCH(l1=g1+g2*g3)
这段代码?
TRACE(g1);
TRACE(g2);
TRACE(g3);
l1=g1+g2*g3;
TRACE(l1);
我不确定这是否可行,如果可以,请指出正确的方向。
使用的软件:arm-linux-gnu-gcc,版本 4.9.1,目标是 Cortex-M3 板,语言是 C99
问候, 模因
【问题讨论】:
-
考虑使用其他预处理器(例如 GPP 或
m4)和/或通过您的专门程序生成 C++ 代码。 -
避免对复杂的东西使用预处理器。很难调试,而且你没有类型检查的奢侈
-
我怀疑这是一个 XY 问题。在 C++ 中,我们可能会通过将所有 4 个变量声明为自定义类型来解决 X 问题,以便可以重载其运算符以打印参数。
-
WATCH 是一个宏,我想定义它来生成代码,其中包含其他宏(TRACE)
-
如果您使用 C99,为什么要使用 C++ 标签?
标签: c c-preprocessor c99