C# 调用C++写的一个DLL 出现内存泄露的问题
我用C++写了一个DLL,里面有一个函数,这个函数的功能就是读取C盘下的一个文件里的内容.C#去调用C++里的这个函数,出现了内存不释放的问题,如果把这个调用过程循环500次,内存就上到了100M,而这个文件本身才10K,这个是怎么回事情呢.有高手可以解释一下么,GC我已经用过了.我说C++的函数是读写文件是举例,千万不要有人告诉我不要用C++,直接用C#写.下面是我用到一些代码:
C++代码
extern "C"
{
__declspec(dllexport) int ReadFile()
{
if(ReadFile())
{
return 1;
}
else
return 0;
}
C# 代码
[DllImport("Read.dll",CharSet=CharSet.Ansi)]
public static extern int ReadFile();