我们项目组用VC/MFC开发的一个大型的CAD应用程序名字叫PRE,目前遇到一个非常棘手的问题就是无法同时打开多个PRE。所选用的机器配置是酷睿2双核CPU,内存2G,最多只能打开5个PRE,然后就会出现异常情况中止,再也无法打开第6个PRE,有时连其他的应用程序也打不开。我们目前的怀疑是PRE在启动后耗用了太多的内存,以至于没有多余的虚拟内存来启动其他的应用程序,可是我们打开任务管理器发现PRE所耗用的内存,5个加起来也不过100多M。后来我们又在Debug状态下调试PRE,发现出现异常的地方是在LoadMenu(),在打开多个PRE后,就会出现加载菜单失败,导致整个应用程序异常终了。可是我们也试着打开多个VC2005,打开十几个都没有问题,请高手指点一下,出现以上状况究竟是什么原因或者指明一下调查的方向,是否是MFC潜在的问题,对于每一个应用程序所使用资源或者内存有一定上限?还是我们所开发的PRE,存在编码上的问题?

解决方案 »

  1.   

    很简单..你build个空的mfc工程,然后开几十个来看看有没问题..
    答案肯定是没问题..你那只会是你们自己所开发的程序产生的问题.
      

  2.   

    你使用了大量的gdi了吧。
      

  3.   

    要不就是没有destroy menu
      

  4.   

    典型的系统资源耗尽。通常是句柄,GDI对象什么的。这些资源都是全局有限的。 你的PRE耗费系统资源太多了。 可以通过任务管理器查看下用了多少资源。
      

  5.   

    应该是你工程的问题,资源耗尽,或者工程中存在某些BUG,应该仔细地检查,我想不应该是VC的问题~~~