为什么内存占用会那么大?

hwang824 2002-05-30 01:52:31
请教大家,我在vc下编译一个程序(release版本),程序的可执行文件大小大约30k,但用任务管理器观察,它的内存占用达到了900k(我的程序中申请内存量很小),后来我写了一个程序作验证,一个简单的console程序(没有包含任何库,没有调用任何库函数,没有申请内存,什么都没有做,只是在无限循环),居然占用了580k的内存,而一个window程序要占用1M的内存。由于我的程序要移植到手持设备,这样当然是不符合要求的。我想请教各位,怎么才能降低程序的内存占用?(我试过在linux下编译,也占用了好几百k的空间)
...全文
94 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxcwuxuchun 2002-06-10
  • 打赏
  • 举报
回复
因为系统动态连接库要映射到你的程序地址空间,所以要加上这部分内存。
yrj 2002-06-09
  • 打赏
  • 举报
回复
WINDOWS下和WINCE中的程序你不能比较的,在CE下程序代码会小很多的,
91program 2002-06-02
  • 打赏
  • 举报
回复
上述是我误会了,因为在嵌入式论坛中,我默认您所说的VC是EVC了。
不好意思!
91program 2002-06-02
  • 打赏
  • 举报
回复
console控制台的属性。
每起动一个console,都会用console的属性来初始化console界面,然后才运行您的程序,所以占用的内存就大多了。
hu_zy 2002-06-02
  • 打赏
  • 举报
回复
有可能是windows下给一人程序分配的栈空间比较大吧,而这个你在嵌入式操作系统下可以自己设定栈大小。
hwang824 2002-05-30
  • 打赏
  • 举报
回复
不是的,您误会了,我没有用模拟器,就是一个普通的windows下的console程序
91program 2002-05-30
  • 打赏
  • 举报
回复
当然,这里占用内存的是模拟器,而不是CE的应用程序!
您单独运行模拟器程序,看它所占的内存是多少?
hwang824 2002-05-30
  • 打赏
  • 举报
回复
不过我在linux下面用top看也差不多呀!
hwang824 2002-05-30
  • 打赏
  • 举报
回复
是windows 2000 professional,怎么?难道任务管理器有问题吗?
91program 2002-05-30
  • 打赏
  • 举报
回复
任务管理器:哪个系统下的?
请不要告诉我是Windows 98/2K下的。
hwang824 2002-05-30
  • 打赏
  • 举报
回复
没有人知道吗?大家做嵌入式程序的时候,没有注意过这个问题吗?

19,504

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧