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

问题描述 投票:0回答:1

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

我阅读使用以下命令: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):未定义引用'WinMain @ 16'collect2.exe:错误:ld返回1退出状态

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

我不知道我做错了什么。我输错了命令吗?

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

c++ compiler-errors mingw stack-overflow
1个回答
0
投票

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

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

这会将堆栈大小增加到16MiB,如果您需要它大于将16777216字节的值增加到您需要的任何值。

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

另请注意,在命令中它的-Wl(小写L)

© www.soinside.com 2019 - 2024. All rights reserved.