在Windows(GCC)上增加堆栈大小

Increase Stack Size on Windows (GCC)

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


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

例如。

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

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


链接后可以运行editbin。


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


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

http://msdn.microsoft.com/zh-CN/library/ms686774(VS.85).aspx