在函数中定义局部变量的限制

前两天写了一个程序处理一些数据,调用时总是报内存无法分配的错误,经研究发现,引起内存分配错误的原因是在函数内部定义了一个20K的局部数据变量。分析由于vxworks为每个Task分配的堆栈空间比较小,当分配较大局部变量时会导致分配错误。解决方案是将函数内部的变量定义为单元的静态变量即可解决问题,这时内存是在编译时就已经分配好了的。