2009-09-03 66 views
0

我只注意到與單個主窗口取約3 MB存儲器(經由任務管理器)如何降低基於MingW的GUI應用程序的內存消耗?

我用開發 - C++和MinGW如編譯器,和生成的窗口的應用程序經由項目一個簡單的Win32 C基GUI應用程序的內存使用情況嚮導。

這是爲什麼呢?有什麼辦法可以減少它嗎?

回答

1

找到一個API,它可以控制應用程序存儲器組,

此代碼可以顯示在任務管理器更好的結果。

SetProcessWorkingSetSize(GetCurrentProcess(), (SIZE_T) -1, (SIZE_T) -1); 
0

任務管理器中的內存顯示有多少內存窗口已分配給您的進程。它絕不反映你的程序實際使用了多少內存。如果您使用Dev-C++附帶的Mingw,那麼您可能需要嘗試獲取新版本的Mingw。 Dev-C++已經放棄了相當長的一段時間,所以捆綁的編譯器已經過時了。

+0

好吧,我已經嘗試過使用最新的mingw編譯器的Code :: blocks。有沒有辦法控制windows分配的內存? – ukanth 2009-09-03 13:58:37

0

我還沒有檢查到與明的版本,但我們在這裏確實發現,包括Windows.h增加19K 每個目標文件。我們採取了手動定義我們需要的一些東西來節省空間。

你可能想玩弄刪除一些標題,看看你的EXE大小會發生什麼。

+0

它確實只有windows.h頭文件,非常簡單的應用程序,使用CreateWindow創建單個窗口,而不是關於exe的大小,它關於分配用於運行exe的內存。 – ukanth 2009-09-03 14:04:14