我正在为8051体系结构芯片和SDCC编译器编写一个C程序。为什么在C程序中使用结构导致链接错误
我有一个称为FilterStructure的结构;
我的代码看起来像这样...
#define NAME_SIZE 8
typedef struct {
char Name[NAME_SIZE];
} FilterStructure;
void ReadFilterName(U8 WheelID, U8 Filter, FilterStructure* NameStructure);
int main (void)
{
FilterStructure testStruct;
ReadFilterName('A', 3, &testFilter);
...
...
return 0;
}
void ReadFilterName(U8 WheelID, U8 Filter, FilterStructure* NameStructure)
{
int StartOfName = 0;
int i = 0;
///... do some stuff...
for(i = 0; i < 8; i++)
{
NameStructure->Name[i] = FLASH_ByteRead(StartOfName + i);
}
return;
}
出于某种原因,我得到一个链接错误“?ASlink - 错误 - 无法获取区域DSEG在内部RAM中29个连续字节”
如果我注释掉表示FilterStructure testStruct;
的行,则错误消失。
这个错误是什么意思?当我完成它时,是否需要丢弃结构?
我已经在你的其他问题,光在这里 – 2010-03-10 20:37:37