1

我正在使用分配相对较大的本地数组的示例代码。(准确地说是 32768)当我尝试相同的操作时,我得到的行为似乎是堆栈溢出。现在我想知道我的示例是否可能将堆栈设置为比我的应用程序更大。这可能吗?如果是这样怎么办?

4

4 回答 4

4

使用 Microsoft 编译器,您可以使用/F设置堆栈大小,但似乎您应该只在堆上分配对象。您应该有一个理由将其分配在堆栈而不是堆上。

编辑:这个页面提供了一个很好的跨平台细分,尽管它可能已经过时了。

于 2009-03-09T08:37:36.100 回答
1

您可以使用 /F 编译器标志设置默认堆栈大小,或将其指定为CreateThread函数的第二个参数。

于 2009-03-09T08:57:46.223 回答
0

与其弄乱堆栈大小,不如简单地使用 std::vector 甚至自己动态分配一个数组?

于 2009-03-09T08:39:21.243 回答
0

您可以为这项工作创建一个新线程。创建线程的时候一般可以指定栈的大小,当然用vs2008的CreateThread()函数

于 2016-05-14T19:29:44.873 回答