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

时间:2019-02-22 06:38:39

标签: c++ compiler-errors mingw stack-overflow

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

我阅读使用以下命令:[Datum]?

其中size是增加堆栈的数量。

但是,这对我不起作用。在命令提示符下键入以下内容时:

g++ -Wl,--stack,<size>

然后按Enter,我得到以下消息:

  

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

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

我不知道我在做什么错。我输入的命令不正确吗?

如何使用MinGW编译器在c ++程序的命令提示符下增加堆栈大小?如果该信息有帮助,我正在使用Windows 10。

1 个答案:

答案 0 :(得分:0)

为了更改堆栈的大小以运行可能导致堆栈溢出的C ++程序,请使用以下命令。

g++ -Wl,--stack,16777216 -o file.exe file.cpp

如果需要更大的堆栈大小,而不是将值从16777216字节增加到所需的任何值,则将其增加到16MiB。

请确保将file.exefile.cpp替换为您正在运行的文件和可执行文件的相应名称。

还要注意,在命令中,其-Wl(小写L)

相关问题