在函数中定义局部变量的限制
由 gougou 于 星期日, 2006-03-05 23:16 发表
前两天写了一个程序处理一些数据,调用时总是报内存无法分配的错误,经研究发现,引起内存分配错误的原因是在函数内部定义了一个20K的局部数据变量。分析由于vxworks为每个Task分配的堆栈空间比较小,当分配较大局部变量时会导致分配错误。解决方案是将函数内部的变量定义为单元的静态变量即可解决问题,这时内存是在编译时就已经分配好了的。
Delphi, DotNet, Java, C++深度探索-哈巴狗的小窝 |
|
搜索分类列表导航 |
在函数中定义局部变量的限制
由 gougou 于 星期日, 2006-03-05 23:16 发表
前两天写了一个程序处理一些数据,调用时总是报内存无法分配的错误,经研究发现,引起内存分配错误的原因是在函数内部定义了一个20K的局部数据变量。分析由于vxworks为每个Task分配的堆栈空间比较小,当分配较大局部变量时会导致分配错误。解决方案是将函数内部的变量定义为单元的静态变量即可解决问题,这时内存是在编译时就已经分配好了的。
|
最新blog文章用户登录 |