是什么原因导致我在LabWindows/CVI中得到栈溢出错误?
主要软件: LabWindows/CVI Development Systems>>LabWindows/CVI Full Development System
主要软件版本: 6.0
主要软件修正版本: N/A
次要软件: N/A
问题: 在我的LabWindows/CVI程序中总是得到栈溢出错误。我如何避免这个错误?
解答: 栈空间被LabWindows/CVI用于存储函数中的自动变量。栈溢出错误意味着自动变量所要求的存储空间超过了栈的最大限制。有两个方法可以解决这个问题:
- 您可以通过配置选项 » 编译选项增加栈的大小。注意栈大小有一个1MB的上限。
- 您可以将您的变量声明为静态类型。它们将会被存放在堆中,而非栈中。对于大数组,这种方法尤其有效。
为了弄清栈溢出的概念,您可以访问DevX.com。在搜索工具栏中,键入
Stack Overflow并点击出现的第一个链接。
相关链接: KnowledgeBase 2QEE9ASJ: What is the Maximum Size of an Array in CVI?DevX.com website
附件:
报告日期: 03/16/2001
最近更新: 03/14/2010
文档编号: 27FH5SJO
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.