我正在尝试将宏的符号导出到模块外部,但是编译器退出并显示:“错误[34]:可能无法重新定义”
我将用IAR汇编程序编写的程序分成几个模块,因为它是作为唯一的一大段代码编写的。我遇到了几个应该用作快速内联函数的MACRO,我试图将它们放在其相关模块中,并在需要它们的位置将其导入为符号。当我仅将宏的名称/符号添加到托管它们的模块的公共名称时,就会出现问题:即使不导入它,编译器也会退出并显示“错误[34]:可能无法重新定义”。如果可能的话,我宁愿让他们留下相关的模块。我能做到吗?还是我弄错了方向?
<>
{this.props.Images.map(item=>{
return (item)
})}
<p>
{JSON.stringify(this.state)}
</p>
<p>
{JSON.stringify(this.props.changed)}
</p>
<button onClick={this.props.onChange}>Change</button>
<button onClick={this.onCurrentChange}>Current State Change</button>
</>
答案 0 :(得分:1)
宏不是一般意义上的功能,它们为常见的指令序列(类似于C中的#define
宏)提供简写符号。因此,只能在可见定义的模块中引用宏。不能使用PUBLIC
关键字将它们导出到其他模块。
可以将宏定义与其余代码分开,并将它们放在单独的文件中,但是随后您需要使用#include
指令将这些文件包括在内。