我有一个嵌入式项目的 .h 和 .c 文件,我想在 C++ 中对其进行单元测试。 在 .c 文件中有变量声明:
uint8_t foo __at "NOINIT";
g++ 抛出错误。 有没有人解决这个问题? (我更喜欢保留 .c 更改的解决方案)
我尝试将开关添加到 g++:
-D__at=;//
预期的结果是:
uint8_t foo ;// "NOINIT";
但是不起作用。正确的语法是什么? (-D__at=";//"
和 -D__at=;\/\/
不是)
感谢您的帮助!
最佳答案
我是一名训练有素的专业人员。不要试图在家里重复这个。
gcc \
-D'var1(v,l)=v ## l' \
-D'var(v,l)=var1(v,l)' \
-D'__at=; const char* var(dummy_x_,__LINE__)='
关于c++ - C 宏 : how to hide __at keyword?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25062338/