c++中ReadFile函数可能分配了内存没释放,所以造成问题了。
你也可以在c#的代码中(虚构时)调用ExitProcess(api)强制释放内存

解决方案 »

  1.   

    这个 和 虚拟机 有什么关系
    就算是 引用c++的库
    对于c++代码部分的 资源 释放 是应该c++代码内部完成的
      

  2.   

    lz:要从两个角度分析这个问题:
    1、int ReadFile():
       如果你的内存是在函数体里面分配的,而仅仅只是返回读到内容的重度,那么你肯定需要在函数体末尾释放分配的内存,这个在C++里比较容易。
    2、修改接口:
       如:int ReadFile(byte[] buff);由调用层对内存分配进行控制、处理。调用层如用C#,对内存空间,使用类的“全局变量”分配,即内存只分配一次,重复使用。如果临时分配,由于在C#很难控制内存,重复使用,内存会很快增加!