c++ - C 宏 : how to hide __at keyword?

标签 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=;\/\/ 不是)

感谢您的帮助!

最佳答案

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

 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/

相关文章:

c - 如何编写 C 字符串函数 : strncpy , strncat 和 strncmp

c - 使用整数常量的宏初始化对象

c++ - C++中迭代器的重要性

c++ - 为什么重启后串口读取不起作用?

c++ - 不能从派生类中获取基类的成员。 C++

c - Visual Studio 2008 C++ 中的错误

在c中将struct转换为char数组

c++ - 线程锁定互斥量比 std::conditional_variable::wait() 更快

c - 用指针理解 C 宏

c++ - 宏增加值然后连接