我用vc写了一个dll,在delphi中调用这个dll,现在有一个奇怪的问题,为什么debug版本的运行一段时间会报错,说是释放内存错误,release版本却没有问题?
有谁遇到过这种情况?

解决方案 »

  1.   

    debug版有内存检查,肯定是有内存问题。
      

  2.   

    接上楼c++运行期库有6个(记不太清了)不同版本,如果各个模块使用的是不同的运行期库并且释放其他模块分配的内存,可能导致问题。如果一个模块分配内存(如dll),最好在此模块内提供释放内存的功能。
      

  3.   

    接楼上楼主可以参考《WINDOWS核心编程》,这些都是里面的知识。
    至于时第几章记不清了,呵呵
      

  4.   

    内存的分配和释放最好在同一个模块内进行,但是COM编程好像可以不在同一个模块内释放!
      

  5.   

    那说明你的程序还是有问题的,在debug版本下通过调试把问题解决了再用Delphi调用吧
      

  6.   


    电子版本:http://www.verycd.com/topics/13458/最近我也在看DLL,可是还没有入门
      

  7.   

    在这种情况下:我用vc写了一个dll,在delphi中调用这个dll,会经常出问题,其实解决掉dll的问题就好了,给你介绍一个专业的dll解决网站,dll下载修复http://www.dllbang.com