MALLOC_CHECK_不报告违规行为



我通过将MALLOC_CHECK_设置为 1 来启用它(也尝试使用 2 和 3)但我没有看到它报告以下 c++ 程序的任何问题:

  int n = atoi(argv[1]);
  std::cout<<"n = "<<n<<std::endl;
  char *buf = new char[n];
  for (int i = 0;i < n*n; i++)
  {
    buf++;
    *buf = 'x';
  }

std::cout<<"done"<<std::endl;

我在这里错过了什么吗?

最后尝试调用"删除"。对我来说,gcc 只有在最后呼吁"免费"时才开始标记错误。也许是实现细节。

相关内容

  • 没有找到相关文章