簡體   English   中英

使用GNU G ++的Windows中的堆棧限制的解決方法

[英]Workaround for stack limit in windows with gnu g++

我已經用GNU g ++構建並編譯了一個命令行程序,該程序由於多種原因會“溢出”堆棧,主要是深層繼承,創建的許多對象等。因此,我在Mac OS X上遵循了此變通辦法來解決鏈接時的問題。 :

-Wl,-stack_size,0x10000000,-stack_addr,0xc0000000

在Linux下,我只是嘗試了ulimit -s unlimited ; 以這種方式運行程序不會再出現分段錯誤

但是,當嘗試在使用GNU g ++的Windows上進行編譯時,編譯器無法識別

-Wl,-stack_size,0x10000000,-stack_addr,0xc0000000

您還可以使用其他什么方法解決該問題?

提前致謝

-Wl--堆棧,看起來像是您想要的。 但是,我強烈建議您重構您的代碼,以利用堆進行較大的分配。 地址空間是有限的資源,您的“解決方法”需要很大一部分資源。

該頁面建議您可能需要嘗試以下命令行選項(搜索-fno-stack-limit):

-fno-stack-limit

如果該操作本身失敗,那么另一頁建議還添加:

-fstack-check

暫無
暫無

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

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