如何使用 vscode 在 C++ 中增加最大堆栈大小
How to increase max stack size in c++ using vscode
在许多动态规划和图形问题中,需要进行长深度递归。
我目前在 windows 中为我的 C++ 程序使用 vscode 和 mingw。
但默认情况下,据我所知,windows 的最大堆栈大小为 1MB。所以我遇到了 分段错误/Whosebug 问题。我很清楚我可以改变循环中的每个递归,但我不想要那些东西。
在像 Google Hashcode、Facebook Hackercup 这样的编程竞赛中,他们提供了大量的输入,如果我 运行 在我的机器中输入它面对 分段错误/Whosebug 问题。
现在我需要的是增加最大筹码量。
我找到了一些方法,这是我的问题。
g++ -O2 -std=c++11 -Wall -Wl,--stack=268435456 Untitled1.cpp -o a.exe
当我在 windows 命令提示符下使用这个命令时它工作得很好。但是它在 vscode 终端中给出了错误(我不知道为什么。)我找到了这个命令 here.
我在某处找到了#pragma comment(linker, "/STACK:2000000")
,但我没看清楚。
有没有办法在vscode中更改一次最大堆栈大小,这样我就不需要每次编译时都指定?
我只想增加最大筹码量,
VSCode 使用 powershell 作为其 shell,逗号是 powershell 的特殊字符。您需要将它们放在引号内。
g++ -O2 -std=c++11 -Wall "-Wl,--stack=268435456" Untitled1.cpp -o a.exe
应该可以。
在许多动态规划和图形问题中,需要进行长深度递归。
我目前在 windows 中为我的 C++ 程序使用 vscode 和 mingw。 但默认情况下,据我所知,windows 的最大堆栈大小为 1MB。所以我遇到了 分段错误/Whosebug 问题。我很清楚我可以改变循环中的每个递归,但我不想要那些东西。
在像 Google Hashcode、Facebook Hackercup 这样的编程竞赛中,他们提供了大量的输入,如果我 运行 在我的机器中输入它面对 分段错误/Whosebug 问题。
现在我需要的是增加最大筹码量。
我找到了一些方法,这是我的问题。
g++ -O2 -std=c++11 -Wall -Wl,--stack=268435456 Untitled1.cpp -o a.exe
当我在 windows 命令提示符下使用这个命令时它工作得很好。但是它在 vscode 终端中给出了错误(我不知道为什么。)我找到了这个命令 here.我在某处找到了
#pragma comment(linker, "/STACK:2000000")
,但我没看清楚。有没有办法在vscode中更改一次最大堆栈大小,这样我就不需要每次编译时都指定?
我只想增加最大筹码量,
VSCode 使用 powershell 作为其 shell,逗号是 powershell 的特殊字符。您需要将它们放在引号内。
g++ -O2 -std=c++11 -Wall "-Wl,--stack=268435456" Untitled1.cpp -o a.exe
应该可以。