1、内存泄漏
申请的空间没有释放
2、内存泄漏的原因
未释放内存:程序完成使用动态分配的内存后,忘记调用free()
释放。
引用丢失:在分配内存后,指针被修改或丢失,导致无法访问到原始内存块。
多次分配:在分配新内存之前未释放旧内存,造成内存泄露。
3、Valgrind检测内存泄漏
4、安装valgrind工具
//安装valgrind工具
sudo apt-get install valgrind
//检测是否安装成功
valgrind --version
5、如何检测
valgrind --tool=memcheck --leak-check=full ./文件名
(工程文件可以把改代码放在makefile文件里,设置伪目标)