试图检查内存泄漏工具,但Vscode无法识别#include <crtdbg.h>
。
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#include <stdio.h>
#include <string.h>
int main()
{
char *word = "this still relevant.";
char *mem = (char *)malloc(sizeof(word));
strcpy(mem, word);
printf("%s", mem);
system("pause");
_CrtDumpMemoryLeaks();
}
source.c:4:10: fatal error: crtdbg.h: No such file or directory
#include <crtdbg.h>
如何正确包含crtdbg.h?
PS:我使用的是MinGW编译器,除此之外一切正常。
编辑1:该其他帖子的解决方案无效。如果我使用建议的代码,则会出现。
source.c:24:5: error: '_CrtDumpMemoryLeaks' was not declared in this scope
_CrtDumpMemoryLeaks();
编辑2:有人在MinGW中使用VsCode吗?
答案 0 :(得分:0)
This应该会帮助...
#ifdef _MSC_VER
#include <crtdbg.h>
#else
#define _ASSERT(expr) ((void)0)
#define _ASSERTE(expr) ((void)0)
#endif
答案 1 :(得分:0)
我认为VSCODE无法访问头文件crtdbg.h,Pease测试了以下简单方法。也许它解决了您的问题:
1-以管理员身份运行VS2019的开发人员命令提示符。我强调以管理员身份不可以运行。
2-类型代码。
3-打开项目文件夹。
4-祝您编程愉快,