[英]How to increase c++ thread stack size on solaris using pthreads?
[英]How to increase max stack size in c++ using vscode
在許多動態規划和圖形問題中,需要進行長深度遞歸。
我目前在 windows 中為我的 c++ 程序使用vscode和mingw 。 但默認情況下,據我所知,windows 的最大堆棧大小為 1MB。所以我遇到了分段錯誤/計算器溢出問題。 我很清楚我可以改變循環中的每個遞歸,但我不想要那些東西。
在Google Hashcode、Facebook Hackercup等一些編程競賽中,他們提供大量輸入,如果我在我的機器上運行該輸入,它會面臨分段錯誤/stackoverflow問題。
現在我需要的是增加最大堆棧大小。
我找到了一些方法,這是我的問題。
g++ -O2 -std=c++11 -Wall -Wl,--stack=268435456 Untitled1.cpp -o a.exe
當我在 windows 命令提示符下使用這個命令時它工作得很好。 但它在 vscode 終端中給出了錯誤(我不知道為什么。)我在這里找到了這個命令。
我在某處找到了#pragma comment(linker, "/STACK:2000000")
,但我沒有清楚地理解這一點。
無論如何在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.