10

有没有办法在使用 GCC 的编译/链接时增加 Windows 应用程序的堆栈大小?

4

4 回答 4

22

IIRC,在 GCC 中,您可以向 ld 提供 --stack,[bytes] 参数。

例如

gcc -Wl,--stack,16777216 -o file.exe file.c

要拥有 16MiB 的堆栈,我认为默认大小是 8MiB。

于 2008-10-01T08:41:04.490 回答
6

您可以在链接后运行editbin。

于 2008-10-01T07:05:50.413 回答
2

Windows 中有两种堆栈大小。最初提交的大小和总保留大小。您可以在 .def 文件中使用 STACKSIZE 语句设置两者。

于 2008-10-01T10:04:07.613 回答
0

创建线程时,您使用 dwStackSize 参数,但我不确定如何更改主线程的大小,这表明它在 exe 的标头中,因此它可能是编译器/链接器的一个选项,否则您需要找到标题的相关部分并自己更改。

http://msdn.microsoft.com/en-us/library/ms686774(VS.85).aspx

于 2008-10-01T07:06:49.477 回答