如何使用MIW编译器编译C++程序时增加栈的大小

如何使用MIW编译器编译C++程序时增加栈的大小,c++,compiler-errors,mingw,stack-overflow,C++,Compiler Errors,Mingw,Stack Overflow,我正在尝试编译一个提供给我的程序。当提供不同的值时,该程序测试快速排序算法的运行时间。我需要增加堆栈的大小以运行真正大的数字 我读了下面的命令:g++-Wl,-stack 其中size是增加堆栈的数字 然而,这对我不起作用。在命令提示中,当我键入以下内容时: g++-Wl,-堆栈,100000000 然后按enter键,我会收到以下消息: C:/mingw/bin/./lib/gcc/mingw32/5.3.0/../../../../../libmingw32.amain.o:.text.st

我正在尝试编译一个提供给我的程序。当提供不同的值时,该程序测试快速排序算法的运行时间。我需要增加堆栈的大小以运行真正大的数字

我读了下面的命令:g++-Wl,-stack

其中size是增加堆栈的数字

然而,这对我不起作用。在命令提示中,当我键入以下内容时:

g++-Wl,-堆栈,100000000

然后按enter键,我会收到以下消息:

C:/mingw/bin/./lib/gcc/mingw32/5.3.0/../../../../../libmingw32.amain.o:.text.startup+0xa0: 对“的未定义引用”WinMain@16'collect2.exe:错误:ld返回1 退出状态

我不允许更改代码,所以我唯一的选择是在命令提示符下增加堆栈大小,然后运行我的代码

我不知道我做错了什么。我输入的命令有误吗


如何使用MIW编译器增加C++程序的命令提示符堆栈大小?我使用Windows 10,如果信息是有用的。

< P>为了改变堆栈的大小运行一个可能导致堆栈溢出的C++程序,使用下面的命令。
g++ -Wl,--stack,16777216 -o file.exe file.cpp
这会将堆栈大小增加到16MiB,如果需要更大,则将该值从16777216字节增加到所需的任何值

请确保使用正在运行的文件和可执行文件的相应名称替换file.exe和file.cpp


还请注意,在命令its-Wl小写L

中,它是否适用于较小的堆栈大小值?是的,它适用于较小的值,如10000。如果我尝试1000000它根本不起作用。我没有收到错误信息或任何东西,程序只是结束了。这对我没有帮助。我没有能力更改代码。我不允许更改代码。这不是我的代码,这是我教授的代码,他严格地说不要更改代码。我只需要增加我的堆栈大小。好吧,1GB太高了,我不想让堆栈那么高。老实说,我不知道应该把什么数字放在那里。我所能建议的是,继续将堆栈大小减半,直到找到一个生成可工作exe的值,并查看该值是否可以在不耗尽堆栈空间的情况下运行。我能够找到它。我把答案贴在下面,以防其他人有同样的问题。