问题描述
我正在尝试编译一些最初使用GCC为SDCC编写的c代码,以在主机上运行某些单元测试。
SDCC有一些语言扩展,例如__xdata
或__pdata
(用于内存控制),应保留用于SDCC,但在使用GCC编译时应忽略这些扩展。我强烈希望不要修改被测模块。有什么办法吗?
我已经弄清楚了,如果我在被测模块中添加#define __xdata
之类的东西,它将起作用。因此,也许可能会有类似“全局定义”的内容?我对GCC的经验很少。也许有些编译器标志可以帮助我?
解决方法
有两个编译器标志,您可以使用:
-
-include
允许您提供一个额外包含的 c 文件并在该文件中进行定义。 - 通过命令行选项定义宏
-D__xdata=