C宏:如何隐藏__at关键字?

时间:2014-07-31 15:01:20

标签: c++ c macros

我有一个嵌入式项目的.h和.c文件,我想用C ++进行单元测试。 在.c文件中有变量声明:

uint8_t foo __at "NOINIT";

g ++抛出错误。 有没有人解决这个问题? (我更喜欢让.c改变的解决方案)

我尝试将开关添加到g ++:

-D__at=;//

,预期结果是:

uint8_t foo ;// "NOINIT";

但是不起作用。什么是正确的语法? (-D__at=";//"-D__at=;\/\/不是)

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

我是一名训练有素的专业人士。不要试图在家里重复这个。

 gcc \
    -D'var1(v,l)=v ## l'     \
    -D'var(v,l)=var1(v,l)'   \
    -D'__at=; const char* var(dummy_x_,__LINE__)='