Tool/software: TI C/C++ Compiler
Hi,
I wrote a piece of source code and I have the .h and .c files that d not give an error upon compiling. As soon as I insert a void or something like it in my main code, I get the error message that unresolved symbols remain.
The .c code:
#include <stdint.h>
#define POOL_LENGTH 32
uint32_t list[POOL_LENGTH];
//-----------------------------------------------
#define struct poolobject_t
{
uint32_t* value;
struct poolobject_t* next;
} poolobject;
//-----------------------------------------------
poolobject pointers[POOL_LENGTH];
poolobject* available;
poolobject* available_tail;
poolobject* usedup;
poolobject* usedup_tail;
//-----------------------------------------------
void setUpPool()
{
int i;
for (i=0;i<POOL_LENGTH-1;i++)
{
pointers[i].next = &pointers[i+1];
}
pointers[POOL_LENGTH-1].next = 0;
available = &pointers[0];
available_tail = &pointers[POOL_LENGTH-1];
usedup = 0;
usedup_tail = 0;
}
//-----------------------------------------------
uint32_t* getObject()
{
poolobject* temp;
if (available!=0)
{
temp = available;
available = available->next;
if (usedup==0)
{
usedup = temp;
usedup_tail = temp;
}
else
{
usedup_tail->next =temp;
usedup_tail = usedup_tail->next;
}
return temp->value;
}
else return 0;
}
//-----------------------------------------------
void releaseObject(uint32_t *obj)
{
if(usedup!=0)
{
poolobject* ptr = usedup;
usedup = usedup->next;
ptr->value = obj;
if(available == 0)
{
available = ptr;
available_tail = ptr;
}
else
{
available_tail->next = ptr;
available_tail = available_tail->next;
}
}
}
The .h code:
#include <stdint.h> void setUpPool(); //typedef poolobject_t; //void setUpPool(); extern uint32_t* getObject(); extern void releaseObject(uint32_t *obj);
Can someone tell me what I am doing wrong/missing?
Jonas.