我正在尝试编译提供给我的程序。该程序测试提供不同值时算法快速排序的运行时间。我需要增加堆栈的大小才能运行非常大的数字。
我阅读使用以下命令:g++ -Wl,--stack,<size>
其中 size 是增加堆栈的数量。
但是,这对我不起作用。在命令提示符下,当我键入以下内容时:
g++ -Wl,--stack,1000000000
然后按 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,如果该信息有帮助的话。
为了更改堆栈的大小以运行可能导致堆栈溢出的 C++ 程序,请使用以下命令。
g++ -Wl,--stack,16777216 -o file.exe file.cpp
这会将堆栈大小增加到 16MiB,如果需要更大,则增加值16777216
字节到您需要的任何值。
请务必更换file.exe
and file.cpp
与您正在运行的文件和可执行文件的相应名称。
另请注意,在命令中其-Wl
(小写 L)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)