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

时间:2020-03-06 14:57:51  来源:igfitidea点击:

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

解决方案

链接后,我们可以运行editbin。

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

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

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

例如。

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

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

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