欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

为啥任务的堆栈要定义成static呢

更新时间: 2014-01-05 03:09:20 责任编辑: Author_N1

 

为什么任务的堆栈要定义成static呢?
static OS_STK  MainTaskStk[MainTaskStkLengh];
static OS_STK Main_TaskStk[Main_Task_STK_SIZE];
如果不定义成static变量就会出现任务信号量发送不对等等问题,如下边的这个问题
http://topic.csdn.net/u/20100828/06/5c60f2ac-c216-4efa-b0ec-dbe2b0cad796.html
上边链接的问题,其实我还没弄懂原因。
因为定义成了static变量,如果MainTaskStkLengh过大就会导致空间申请不了的情况,导致出现很多异常
--参考方法--
关注一下……
--参考方法--
既然过大会异常,那就取适量的值呗
--参考方法--
http://blog.chinaunix.net/u/15921/showart_112334.html
c语言动态与静态分配内存空间的区别,你看看吧
--参考方法--
static 是一种编程习惯,当变量不在其他文件中使用是 定义为 static 这样避免重名。

比如你可以在文件a中定义一个static的函数,你可以在文件b中定义一个同名的static函数。

--参考方法--
static 和global应该是没有关系的,他们的区别在链接的时候才会体现出来,static的symbol类型是local的,对外部不可见,其他应该是没有什么大区别的
--参考方法--
是不是这个变量在多余一个的函数中用到,需要定义为全局
这样解释太简单了
--参考方法--
引用:
static OS_STK MainTaskStk[MainTaskStkLengh];
static OS_STK Main_TaskStk[Main_Task_STK_SIZE];
如果不定义成static变量就会出现任务信号量发送不对等等问题,如下边的这个问题
http://topic.csdn.net/u/20100828/06/5c60f2ac-c216-4efa-b0ec-dbe……
帮顶一下!
--参考方法--
你要懂就说清楚一点
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:09:20
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/18993/
本文WWW.DOC100.NET DOC100.NET版权所有。