我想要关于 VC++(32 位和 64 位)堆栈溢出的准确信息,特别是在递归中。在 Debug模式下,这种情况很快就会在递归中发生(比如 4500 运行一个简单的递归函数什么都不做)。但是, Release模式似乎有所不同。很难理解,我现在没有测试它,因为优化删除了不做任何事情的代码(显然删除了递归),因为我的代码或函数是如此..我应该做更多..我测量优化发布的正确时间,我不知道优化在递归实现的更复杂的快速排序中是否也有同样的效果?
谢谢!
最佳答案
作为安德烈亚斯·布林克 states in his related answer :
In VC++ the default stack size is 1 MB i think, so with a recursion depth of 10.000 each stack frame can be at most ~100 bytes.
可以使用以下方式修改此堆栈大小限制:
项目 → 属性 → 配置属性 → 链接器 → 系统 → 堆栈保留大小。
关于c - VC++中栈的大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14001590/