棧空間受限情況下C/C++函數調用注意事項

C/C++是基於堆棧的語言,調用參數、局部變量都定義在棧上。當棧空間受限時,需要仔細斟酌。 首先說說個人對棧的理解,受不同編譯器、函數調用方式等等因素影響,棧具體實現稍有區別,但是不影響我們對棧佈局的理解。 根據上圖,有以下建議: 1、函數調用 a、一個函數,不宜多於3個參數,不應多於5個參數。 如果超出,首先應該檢查代碼,是否函數職責過重,是否可拆分。 如果無法重構函數,建議定義1個結構體,將參
相關文章
相關標籤/搜索