在许多动态规划和图形问题中,需要进行长深度递归。
目前,我正在使用vscode,并在windows中为我的c++程序提供服务。但是默认情况下,根据我的知识窗口有1MB的最大堆栈大小.So,我会得到分段错误/堆栈溢出问题。我非常清楚,我可以改变循环中的每一个递归,但我不想那样做。
在一些编程竞赛中,比如Google,Facebook,它们提供了大量的输入,如果我在我的机器上运行这个输入,它将面临分段错误/堆栈溢出问题。
现在我需要的是增加最大堆栈大小。
我找到了一些方法,这是我的问题。
g++ -O2 -std=c++11 -Wall -Wl,--stack=268435456 Untitled1.cpp -o a.exe
--当我在windows命令提示符中使用此命令时,它工作得很好。但是它会给vscode终端带来错误(我不知道为什么)。我找到了这个命令这里。#pragma comment(linker, "/STACK:2000000")
的某个地方找到了,但我不清楚这一点。我只想增加最大堆栈大小,
发布于 2020-07-29 12:55:04
VSCode使用powershell作为它的shell,逗号是powershell的特殊字符。你得把它们放进引号里。
g++ -O2 -std=c++11 -Wall "-Wl,--stack=268435456" Untitled1.cpp -o a.exe
应该行得通。
https://stackoverflow.com/questions/63134299
复制相似问题