我在头文件中有一个变量:
myHeader.h
uint16 dummyVar = 0;
extern const uint16 myVar __attribute__((weak,alias("dummyVar")));
因此,当我没有链接myVar
定义的部分时,链接器将只给它符号dummyVar
的值。
我的问题是,我正在开发一个具有给定架构的项目,其中我的Header-File myHeader.h
包含在几个C-Files中。因此,我获得了dummyVar
的多个定义。但是当我在我的标题之外定义dummyVar
时,它对我的__attribute__
不再起作用,因为当dummyVar
被指定为别名时需要定义{{1}}。
有没有办法解决这个问题而不改变它的基本架构?
答案 0 :(得分:1)
一个简单的解决方案是将其声明如下:
static uint16 dummyVar = 0;