使用 VLD 编译 C 代码

Compiling C code with VLD

本文关键字:代码 编译 VLD 使用      更新时间:2023-10-16

>我正在尝试使用 Visual C++ (2010( 和 Visual Leak Detector 编译 SDL 库,以便在另一个调用 SDL 的程序中查找内存泄漏。

问题是 vld.h 是一个C++库,而 SDL.c 是一个 C 程序。因此,当我 #include 时,源代码无法编译,因为VLD似乎使用了C++特定的结构:

typedef int (__cdecl * VLD_REPORT_HOOK)(int reportType, wchar_t *message, int *returnValue);
__declspec(dllimport) int VLDSetReportHook(int mode,  VLD_REPORT_HOOK pfnNewHook);

我尝试将 SDL.c 编译为C++程序,但出现大量错误。

有什么方法可以将 VLD 包含在 SDL 中吗?

(感谢@Matias Valdenegro(

问题是wchar_t.为了能够重新编译 SDL(我假设其他 C 源文件(以包含 VLD,请添加

#include <wchar.h>

vld.hvld_def.h.然后,SDL 将愉快地编译,并可与 SDL 程序一起使用,以检测源自 Surface 等的内存泄漏。