Visual Studio内存泄漏检测无法正常工作

时间:2014-05-02 18:15:54

标签: c++ visual-studio-2008 memory-leaks profiler

我正在尝试在Visual Studio 2008中使用C ++ memory leak detection,但它不起作用,因为我总是遇到这两个失败:

  1. error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  2. error C2365: '_CrtSetDbgFlag' : redefinition; previous definition was 'function'
  3. 我曾尝试将其放在某些代码文件的顶部:

    #define _CRTDBG_MAP_ALLOC
    #include <stdlib.h>
    #include <crtdbg.h>
    _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

    我不明白这应该是哪个源/头文件,因为如何使用它的文档似乎很差。它适用于具有大量CPP / H文件的CPython扩展。这四行应该放在每个代码文件的顶部吗?

    我做错了什么?

1 个答案:

答案 0 :(得分:2)

您无法在全局范围内调用函数,您需要将函数调用放在main函数中。