我想知道在gcc C中允許的(遞歸)函數調用的最大次數是多少。我有一個程序可以使用堆棧深度爲400000的函數調用,每個調用的大小爲大約200字節(大約80 MB)。我怎樣才能增加最大深度?在C(gcc)中函數堆棧的最大大小
1
A
回答
8
3
我會推薦重寫例程爲迭代算法。雖然不平凡,但它應該是直接轉換算法,並且將免除您必須處理這些資源限制(我猜,這可能會因體系結構,平臺,計算機詳細信息等而異)。
另請注意:所有遞歸算法can be written迭代。
+0
我正在爲DP進行記憶。它是一個3×3矩陣的問題,將一個配置轉換爲其他配置。迭代很困難。 – avd 2009-10-11 05:32:35
相關問題
- 1. 在Windows上增加堆棧大小(GCC)
- 2. 達到的最大堆棧大小
- 3. 在C#中更改堆棧的大小
- 4. 增加堆棧大小c#
- 5. 最大線程堆棧大小.NET?
- 6. 如何找到最大堆棧大小?
- 7. 在C中檢查堆棧大小#
- 8. OpenCL函數調用堆棧大小
- 9. Android堆棧大小
- 10. Linux堆棧大小
- 11. 在Java中減少運行時的最大堆棧大小
- 12. 堆棧= java.lang.StackOverflowError的:堆棧大小8MB
- 13. 如何計算GCC中被調用函數的樹的所需堆棧大小
- 14. iphone os支持的最大堆大小和堆棧大小是多少?
- 15. 在nodejs中超出最大調用堆棧大小
- 16. 在AngularJS中超出最大調用堆棧大小
- 17. Uncaught RangeError在React App中超出最大調用堆棧大小
- 18. 在SetTimeout遞歸函數(Javascript)上超出最大調用堆棧大小
- 19. 確定其中最大的調用堆棧大小被超過
- 20. 遞歸 - 調用堆棧失敗測試的最大堆棧大小
- 21. Nexus的最大堆大小?
- 22. Uncaught TypeError:undefined不是一個函數&Uncaught RangeError:最大調用堆棧大小Angular2
- 23. C++最大std :: string的長度是由堆棧大小還是堆大小決定的?
- 24. C++ vs2010增加堆棧大小
- 25. 在setTimeout調用期間超出最大調用堆棧大小
- 26. Nodejs中獲取最大調用堆棧大小超出錯誤
- 27. 在C#中檢查堆完整性和堆棧大小
- 28. 堆棧最大尺寸覆蓋C++
- 29. 增加AsyncTask堆棧大小?
- 30. LINQ堆棧大小問題
您確定要深入?我認爲這是很多遞歸。您可以嘗試使其迭代。 – GManNickG 2009-10-11 05:27:40
我正在爲DP進行記憶。它是一個3×3矩陣的問題,將一個配置轉換爲其他配置。我不能讓它迭代。 – avd 2009-10-11 05:31:07
@aditya:所有遞歸算法都可以迭代;通常很難這樣做,你可能不知道如何去做。 – 2009-10-11 05:51:32