Maximum Stack Size must be an integer between 65536 and 16777216.
这个16MB的限制是Delphi编译器的一个基本限制,还是IDE强加的任意限制?还有另一种方法来增加这个价值吗?
注意(预期评论……):
>需要更大的堆栈是由于巨大的静态数组类型用作局部变量
>我知道这样做的必要性是可怕设计的症状
>这是一个庞大的遗留应用程序,其设计和维护我不负责.
>重构到动态数组可以工作,但会导致50%的性能损失.
>其他重构是可能的 – 可能是数周的工作.这可能最终成为一个侧面项目.
>与此同时,现在需要功能,更大的堆栈将是一个简单的解决方案.
>是的,我真的,真的知道这是一件坏事,坏事.
解决方法
从XE6 docwiki(它也适用于以前的版本):
The $M directive specifies an application’s stack allocation parameters. minstacksize must be an integer number between 1024 and 2147483647 that specifies the minimum size of an application’s stack,and maxstacksize must be an integer number between minstacksize and 2147483647 that specifies the maximum size of an application’s stack.
If there is not enough memory available to satisfy an application’s minimum stack requirement,Windows will report an error upon attempting to start the application.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。