簡體   English   中英

如何使用 vscode 增加 c++ 中的最大堆棧大小

[英]How to increase max stack size in c++ using vscode

在許多動態規划和圖形問題中,需要進行長深度遞歸。

我目前在 windows 中為我的 c++ 程序使用vscodemingw 但默認情況下,據我所知,windows 的最大堆棧大小為 1MB。所以我遇到了分段錯誤/計算器溢出問題。 我很清楚我可以改變循環中的每個遞歸,但我不想要那些東西。

Google Hashcode、Facebook Hackercup等一些編程競賽中,他們提供大量輸入,如果我在我的機器上運行該輸入,它會面臨分段錯誤/stackoverflow問題。

現在我需要的是增加最大堆棧大小

我找到了一些方法,這是我的問題。

  1. g++ -O2 -std=c++11 -Wall -Wl,--stack=268435456 Untitled1.cpp -o a.exe當我在 windows 命令提示符下使用這個命令時它工作得很好。 但它在 vscode 終端中給出了錯誤(我不知道為什么。)我在這里找到了這個命令。 在此處輸入圖像描述

  2. 我在某處找到了#pragma comment(linker, "/STACK:2000000") ,但我沒有清楚地理解這一點。

  3. 無論如何在vscode中更改一次最大堆棧大小,這樣我就不需要每次編譯時都指定?

我只想增加最大堆棧大小,

VSCode 使用 powershell 作為其 shell,逗號是 powershell 的特殊字符。您需要將它們放在引號內。

g++ -O2 -std=c++11 -Wall "-Wl,--stack=268435456" Untitled1.cpp -o a.exe

應該管用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM