gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:53:32 33 4
gpt4 key购买 nike

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

我阅读使用以下命令: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.exefile.cpp替换为您正在运行的文件和可执行文件的相应名称。
另请注意,该命令的 -Wl(小写L)

关于c++ - 使用MinGW编译器编译C++程序时如何增加堆栈大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54821412/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com