ucos中task的局部变量的处理问题,请教达人...........ucos的task一般形式如下:
void task(void* pdata)
{
int i,j;
for(;;)
{
........
}
}
我的问题是不知道在切换到task里面的时候,这个临时变量i的寻址方式,
根据它在x86上面的移植,进入一个task的时候分别将pop es,
pop ds,和pop all,看不出这些临时变量的压栈过程
,根据我的理解,一般一个函数中的临时变量
在进入函数后会由编译器分配在堆栈空间中返回地址之上(就是通过
压栈完成)
SP-> 局部变量j
局部变量i
返回地址
pdata
register
.........
对i,j的寻址通过sp加一个偏移量实现,可是在ucos中虚拟出来的task中,
这些临时变量将分配到啥地方?(和一般函数区别在哪里?)
达人指点一下