Visual c++ C语言中visualstudio的内存泄漏

Visual c++ C语言中visualstudio的内存泄漏,visual-c++,memory-management,Visual C++,Memory Management,我遇到了以下问题:我在visual studio 2015中使用2D阵列,我创建了一个函数来分配内存,另一个函数来释放内存。他们来了: double** MatrizAlloc(int nRow, int nCol) { int i; double **field; field = (double **)calloc(nRow, sizeof(double *)); if (!(field)) perror("Error alocating memory"); fo

我遇到了以下问题:我在visual studio 2015中使用2D阵列,我创建了一个函数来分配内存,另一个函数来释放内存。他们来了:

double** MatrizAlloc(int nRow, int nCol)
{
   int i;
   double **field;
   field = (double **)calloc(nRow, sizeof(double *));
   if (!(field)) perror("Error alocating memory");
   for (i=0; i<nRow, i++)
   {
      field[i] = (double *)calloc(nCol, sizeof(double));
      if (!(field[i])) perror("Error alocating memory");
   }
   return field;
}

void MatrizDealloc(double **field, int nRow)
{
   int i;
   for (i=0; i<nRow, i++) 
       free(field[i]);
   free(field);
} 
double**MatrizAlloc(int nRow,int nCol)
{
int i;
双**字段;
字段=(双**)calloc(nRow,sizeof(双*);
if(!(字段))perror(“错误定位内存”);

对于(i=0;i什么使您相信存在内存泄漏?我有一个使用临时矩阵执行转换的例程(使用低通FIR滤波器对列进行子采样)我需要一个临时矩阵来存储结果。因此在函数内部,我分配临时矩阵,使用它,最后取消分配。问题是在调用此函数之前,我为进程分配了106MB,之后分配了112Mb。我跟踪了内存使用情况,当我创建de temp matrix时,内存从106 MB增加到127Mb,在筛选和子样本期间保留127MB,但在取消分配时不会返回106MB。我注意到了这一点,因为我反复运行了该过程,并且“我遇到了内存溢出:它消耗了超过2GB的RAM!我在您显示的代码中没有看到内存泄漏。问题可能在其他地方,在您未显示的代码中。它可能会发生最好准备一个。我已经将我的Visual Studio更新到2017年,它解决了问题。可能是我使用的版本中的一些错误。谢谢!