使用 MinGW 编译器编译 C++ 程序时如何增加堆栈大小
How to increase stack size when compiling a C++ program using MinGW compiler
我正在尝试编译提供给我的程序。当提供不同的值时,程序测试算法快速排序的 运行 时间。我需要将堆栈的大小增加到 运行 非常大的数字。
我阅读使用以下命令:g++ -Wl,--stack,<size>
其中 size 是增加堆栈的数量。
但是,这对我不起作用。在命令提示符下,当我键入以下内容时:
g++ -Wl,--stack,1000000000
然后按回车键,我收到以下消息:
C:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0):
undefined reference to 'WinMain@16' collect2.exe: error: ld returned 1
exit status
不允许我更改代码,所以我唯一的选择是在命令提示符下增加堆栈大小,然后 运行 我的代码。
我不知道我做错了什么。我输入的命令有误吗?
如何在使用 MinGW 编译器的 C++ 程序的命令提示符中增加堆栈大小?如果该信息有帮助,我正在使用 Windows 10。
为了改变栈的大小运行一个可能导致栈溢出的C++程序,使用下面的命令。
g++ -Wl,--stack,16777216 -o file.exe file.cpp
这会将堆栈大小增加到 16MiB,如果您需要它更大,则将值从 16777216
字节增加到您需要的任何值。
请务必将 file.exe
和 file.cpp
替换为您要 运行ning 的文件和可执行文件的相应名称。
另请注意,在命令中其 -Wl
(小写 L)
g++ -Wl,--stack,1000000000 -o main.exe main.cpp
我正在尝试编译提供给我的程序。当提供不同的值时,程序测试算法快速排序的 运行 时间。我需要将堆栈的大小增加到 运行 非常大的数字。
我阅读使用以下命令:g++ -Wl,--stack,<size>
其中 size 是增加堆栈的数量。
但是,这对我不起作用。在命令提示符下,当我键入以下内容时:
g++ -Wl,--stack,1000000000
然后按回车键,我收到以下消息:
C:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to 'WinMain@16' collect2.exe: error: ld returned 1 exit status
不允许我更改代码,所以我唯一的选择是在命令提示符下增加堆栈大小,然后 运行 我的代码。
我不知道我做错了什么。我输入的命令有误吗?
如何在使用 MinGW 编译器的 C++ 程序的命令提示符中增加堆栈大小?如果该信息有帮助,我正在使用 Windows 10。
为了改变栈的大小运行一个可能导致栈溢出的C++程序,使用下面的命令。
g++ -Wl,--stack,16777216 -o file.exe file.cpp
这会将堆栈大小增加到 16MiB,如果您需要它更大,则将值从 16777216
字节增加到您需要的任何值。
请务必将 file.exe
和 file.cpp
替换为您要 运行ning 的文件和可执行文件的相应名称。
另请注意,在命令中其 -Wl
(小写 L)
g++ -Wl,--stack,1000000000 -o main.exe main.cpp