gpt4 book ai didi

c++ - Visual Leak Detector 不适用于 DLL 项目的检测

转载 作者:行者123 更新时间:2023-11-28 06:15:37 25 4
gpt4 key购买 nike

我的解决方案中有很多项目。其中一些是dll项目。我已将 #include "vld.h" 添加到 "stdafx.h"文件中,该文件将包含在所有文件中。我只是在启动应用程序时将执行的行上写了 char* t = new char[100];。但是 VLD 不起作用。输出窗口只是显示没有泄漏。但是当我将 #include "vld.h" 放在静态项目中时,它起作用了!我不知道为什么,以及如何处理这个问题?

最佳答案

您应该已经阅读了说明:

https://vld.codeplex.com/wikipage?title=Using%20Visual%20Leak%20Detector&referringTitle=Documentation

要在您的项目中使用 VLD,请按照以下简单步骤操作:

  1. 在您程序的至少一个 C/C++ 源代码 (非头文件) 文件中,包括 vld.h 头文件。将 include 语句添加到哪个文件应该无关紧要。 header 相对于其他 header 的包含顺序也不重要。唯一的异常(exception)是 stdafx.h(或任何其他预编译头文件)。 预编译 header (例如 stdafx.h)必须始终是源文件中包含的第一个 header ,因此 vld.h 必须包含在任何预编译 header 之后。
  2. 如果您的程序包含一个或多个您还想检查内存泄漏的 DLL,则还应在每个 DLL 的至少一个源文件中包含 vld.h,以包含在泄漏检测中。
  3. 构建程序的调试版本。

关于c++ - Visual Leak Detector 不适用于 DLL 项目的检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30395124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com