如何在基于MingW的GUI应用程序中减少内存消耗?

时间:2009-09-03 13:37:20

标签: c++ memory

我刚刚注意到基于win32 C的简单GUI应用程序的内存使用情况,单个主窗口占用大约3 MB内存(通过任务管理器)

我使用Dev-c ++和Mingw作为编译器,并通过项目向导生成了Windows应用程序。

为什么会这样?有没有办法减少它?

3 个答案:

答案 0 :(得分:1)

找到一个可以控制应用程序内存集的API,

此代码可以在任务管理器中显示更好的结果。

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

答案 1 :(得分:0)

任务管理器中的内存显示已为您的进程分配了多少内存窗口。它决不会反映您的程序实际使用了多少内存。如果您使用Dev-C ++附带的Mingw,那么您可能想尝试使用新版本的Mingw。 Dev-C ++已经被放弃了很长一段时间,因此捆绑的编译器已经过时了。

答案 2 :(得分:0)

我没有用Ming的版本来检查这个,但是我们在这里发现,包括Windows.h在内的每个目标文件增加了19K 。我们采用手动定义我们需要的一些东西来节省空间。

你可能想要删除一些标题,看看你的exe大小会发生什么。