C++
malloc和free一对使用VC编译的DLL,里面有一个函数,使用后需要free。我用C#调用VC编译的那个DLL里的那个函数,需要free吗?VC编译的DLL里面的函数没有free  我C#调用后需要free?会出现他们说的内存泄露问题吗?
会出现内存泄露的话?改怎么去解决?
懂的朋友给个列子。。和方法。。最好有源码
谢谢了

解决方案 »

  1.   

    如果你想C#与C++互操作,你最好直接用C++,不然问题很多,出了问题你查不出来
      

  2.   

    C++去malloc 
    到C#来释放?
        
    object.dispose();       
      

  3.   

    我只是调用VC编译出来的DLL里面的一个函数
    但是C++里面需要free。。他没有free
    我用C#调用后需要free吗?
    我用C#调用后。。不free会出现内存泄露吗?
    会出现的话。请各位给我一个列子。。方法。。代码。。都可以
      

  4.   

    这个没接触过哦,只能说C++的那个DLL写得不好。
      

  5.   

    将引用DLL的方法,,写在一个类中。。这个类实现IDispose接口。。通过GC回收非托管资源。在调用完这个方法后尝试Dispose()释放该类资源。。
      

  6.   

    不用释放了。
    等.net的垃圾回收器处理吧。
      

  7.   

    如果是调用非托管C++的DLL,那么这个DLL自己就应该做好内存的释放。
    如果调托管C++的DLL,可以等GC来回收~