2011-04-05 53 views
0

給定一個包含多個源文件的大型項目,有什麼方法可以確定它將使用多少靜態分配的內存?計算靜態分配內存的數量

在情況下,問題是不夠清楚,一個良好的近似爲值將是

Σ的sizeof(x),其中x是陣列

和可以在編譯獲得時間。

+0

我認爲這取決於你希望成爲多麼挑剔。顯然,所有的靜態/全局都必須計數。但嚴格來說,帶有不完整初始化列表的數組也是靜態分配的內存,因爲它們在程序啓動之前需要經過靜態初始化。 – Lundin 2011-04-05 14:32:02

回答

4

構建它,然後使用檢查生成的二進制文件的工具,因爲它將包含此信息。

要使用哪些工具取決於平臺,在Linux上,您可以嘗試使用nm和/或objdump

+0

或在* nix下的大小命令。 – 2011-04-05 14:27:42