我正在尝试编译提供给我的程序。当提供不同的值时,程序将测试算法快速排序的运行时间。我需要增加堆栈的大小才能运行很大的数字。
我阅读使用以下命令:[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。
答案 0 :(得分:0)
为了更改堆栈的大小以运行可能导致堆栈溢出的C ++程序,请使用以下命令。
g++ -Wl,--stack,16777216 -o file.exe file.cpp
如果需要更大的堆栈大小,而不是将值从16777216
字节增加到所需的任何值,则将其增加到16MiB。
请确保将file.exe
和file.cpp
替换为您正在运行的文件和可执行文件的相应名称。
还要注意,在命令中,其-Wl
(小写L)