请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:EK-TM4C1294XL 工具/软件:TI C/C++编译器
您好,
我编写了一段源代码,并且我有.h和.c文件,这些文件在编译时不会出现错误。 只要我在主代码中插入void或类似内容,我就会收到错误消息,指出未解析的符号仍然存在。
c代码:
#include <stdint.h>
#define pool_length 32
UINT32_t list[pool_length];
//------------------
#define struct poolobject_t
{
UINT32_t*值;
struct poolobject_t* next;
} poolobject;
//------------------
poolobject pointer[pool_length];
poolobject* available;
poolobject* available _tail;
poolobject* usedup;
poolobject* usedup_tail;
//----------------
void setUpPool()
{
int i;
对于(i=0;i<pool_length-1;i++)
{
指针[I].NEXT =指针[I+1];
}
指针[pool_length-1].next = 0;
可用=指针[0](&P);
可用尾部=指针(&P)[pool_length-1];
使用时间= 0;
usedup_tail = 0;
}//------------------
UINT32_t* GetObject()
{
poolobject*临时;
如果(可用!=0)
{
TEMP =可用;
可用=可用->下一个;
IF (usedup=0)
{
usedup =温度;
usedup_tail =临时;
}
否则
{
usedup_tail->next =temp;
usedup_tail = usedup_tail->next;
}
返回temp ->值;
}
否则返回0;}//------------------
void releaseObject(UINT32_t *obj)
{
IF (使用重复!=0)
{
poolobject* ptr =使用重复;
usedup = usedup->下一个;
ptr ->值= obj;
如果(可用== 0)
{
可用= PTR;
可用尾部= ptr;
}
否则
{
可用尾部->下一个= ptr;
可用尾部=可用尾部->下一个;
}
}
}
h代码:
#include <stdint.h> void setUpPool(); //typedef poolobject_t; //void setUpPool(); extern UINT32_t* GetObject(); extern void releaseObject(UINT32_t *obj);
有人能告诉我我做了什么错误/缺失了什么吗?
Jonas。