下一節: , 上一節: , 上層章節: 程式行為   [目錄][索引]


4.12 記憶體用量

如果程式通常只使用幾 MB 的記憶體,就不用費心去減少記憶體用量。例如,如果因為其他原因而無法處理超過幾 MB 的檔案,那麼將整個輸入檔讀取到記憶體中進行操作是合理的。

然而,對於像 cattail 這樣的程式,它們可以有效地處理非常大的檔案,因此避免使用會人為限制其可處理檔案大小的技術非常重要。如果程式以行為單位運作,並且可以應用於任意使用者提供的輸入檔案,則它應該只在記憶體中保留一行,因為這並不困難,而且使用者會希望能夠操作大於記憶體容量的輸入檔案。

如果您的程式建立複雜的資料結構,只需在記憶體中建立它們,並且在 malloc 返回 NULL 時給出致命錯誤。

記憶體分析工具,例如 valgrind 可能很有用,但不要僅僅為了避免它們的誤報而使程式變得複雜。例如,如果記憶體使用到程序即將退出之前,則不要僅僅為了讓此類工具靜音而釋放它。