我正在研究xinu,我需要更改一些*.c
文件。我在文件中有这个结构ready.c
:
struct newtimer{
struct newtimer* tnext;
struct newtimer* tprev;
int tkey;
int tprio;
int tcount;
};
然后我宣布:
struct newtimer *timer = NULL;
我在这个文件中使用了timer变量,我还需要在另一个文件中使用它(clkint.c
)。所以在clkint
我这样做:
extern struct newtimer *timer;
(编译好)但是当我尝试访问timer的字段时,我得到了这些错误:
我究竟做错了什么?
谢谢
编辑:
根据要求,这里有一些clkint.c
:
struct newtimer *t;
extern struct newtimer *timer;
...
t = timer;
while(t!= NULL)
{
++(t->tcount);
if(t->tcount >= 18){
t->tcount = 0;
newprior = proctab[t->tkey]->pprio + 10;
t->tcount = newprior;
chprio(t->tkey, newprior);
}
t = t->tnext;
resched();
}
编辑:
将所有t
s替换为timer
s 并不能解决问题。