1.一个程序文件2.5M 刚开始运行时 Win2000的任务管理器显示内存 12M 运行了一段时间内存显示为 6M,并稳定在6M左右,这是怎么回事,
WIN中程序内与什么有关
2.还有调试程序时看到 VC的debug窗口 Loaded 一大堆dll文件有一些文件程序中根本没有引用到怎么会调进去呢,我又如何知道引用什么才会使程序调用这些dll
3.编译出来的程序大小是由什么决定的除资源,源代码外还有什么东西,在项目设置中应如何设置

解决方案 »

  1.   

    1.程序文件大小和内存使用没有必然关系。比如你的代码中有疯狂的new操作,那么程序运行起来就会消耗大量内存。你再DELETE后内存消耗又减少了。2.调试程序时一大堆dll是由你的程序隐式装入的。比如gdi32.dll你也没用loadlibary装入, 但你也可以调用绘图函数。 系统已给你链接进来了3。好像有个代码优化选项。
      

  2.   

    to yongdu() :
    感谢你的回复,
    1. 程序是我写的,不存在疯狂 new 操作过10多分钟再 delete的问题
    2.这个应该想到的, gdi32.dll调以很正常可以对像 金山词霸的dll调用是什么回事,更主要的是不清楚调用什么才引起这些dll的引入.
    3. 不关代码优化的事的,我的意思是项目设置中哪些是编译出的程序大小有关,以及关于头文件(引用)有何 规则
      

  3.   

    这东西都是操作系统管的~
    秘密……
    可以去研究开源系统~
    LINUX?
      

  4.   

    第二个问题可以通过VStudio6 的dependency walker 可以查看一大部分
      

  5.   

    金山糍粑的dll是鼠标钩子。即使你没调用过,但只要鼠标在你的程序界面上移动一下,那个dll就进去了。