首先从逻辑上说,全局变量一般是任何系统都需要的,对于非ucos的前后台系统,全局变量岂不是没处可放置?<br /><br /><br />我的认识:全局变量(包括静态变量)是放置在独立的一块数据区里面的。一个二进制程序分3个部分<br />RO -- 代码<br />RW -- 数据<br />ZI -- 没有初始化的数据<br /><br />全局变量就放在RW和ZI.启动后由系统程序将数据拷贝到指定地址的内存中,从而成为全局变量。这部分任务在main()函数被系统调用前完成。<br />------------------------------------------<br />在ucos这个例子中,任务使用的栈是用全局静态数组,也就是全局变量了,这样的好处是,栈空间作为全局变量由编译器自动来分配,访问起来也方便(访问数组当然容易了)
|