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