首页
›
编程基础与工程化
›
012-Makefile
›
《Makefile内存泄漏检测实战》
VIP20
本课程属于:012-Makefile
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Makefile内存泄漏检测实战
📚 共计 30 章节
01
课程导学
内存泄漏的危害、为什么选择Makefile + Valgrind、课程目标与前置知识
导学
概述
02
环境准备
Linux虚拟机安装、GCC/G++编译器安装、Valgrind工具安装
环境
安装
03
第一个Makefile
Makefile基本语法、目标与依赖、一个简单的编译示例
入门
语法
04
Makefile变量
自定义变量、自动变量($@, $^, $<)、变量的赋值方式(=, :=, ?=, +=)
变量
赋值
05
Makefile函数
wildcard、patsubst、notdir、foreach等常用函数
函数
文本处理
06
Makefile条件判断
ifeq、ifneq、ifdef、ifndef的使用场景
条件
逻辑
07
多目标编译
生成多个可执行文件、伪目标(.PHONY)的作用
多目标
PHONY
08
静态模式与模式规则
%通配符、静态模式规则简化编译
模式
通配符
09
Makefile嵌套
子目录Makefile、$(MAKE)递归调用、export变量传递
嵌套
递归
10
内存泄漏基础
堆内存与栈内存、malloc/free与new/delete配对原则
内存
配对
11
Valgrind入门
Memcheck工具基本原理、常用命令行参数(--leak-check=full等)
Valgrind
Memcheck
12
Valgrind实战1:简单泄漏
检测简单泄漏——忘记free的场景
实战
free
13
Valgrind实战2:数组越界
检测数组越界与非法访问
越界
非法访问
14
Valgrind实战3:未初始化内存
检测未初始化内存的使用
未初始化
实战
15
Valgrind实战4:double free
检测double free与内存重复释放
重复释放
double free
16
Valgrind实战5:new/delete不匹配
检测C++中new/delete不匹配
C++
不匹配
17
Valgrind报告解读
绝对泄漏、间接泄漏、可能泄漏、仍可访问
报告
分类
18
集成Valgrind到Makefile
添加test目标、自动运行检测
集成
自动化
19
Makefile + Valgrind自动化脚本
批量检测、输出日志、错误退出码
脚本
批量
20
实战项目1:链表操作
链表操作中的内存泄漏检测
项目
链表
21
实战项目2:字符串处理
字符串处理函数中的内存泄漏
字符串
泄漏
22
实战项目3:多线程检测
多线程程序的内存泄漏检测(Helgrind工具简介)
多线程
Helgrind
23
实战项目4:大型项目重构
大型项目(模拟)的Makefile重构与泄漏检测
重构
大型
24
Makefile优化
增量编译、缓存依赖、并行编译(-j选项)
优化
并行
25
Valgrind进阶
Massif堆分析器、Callgrind性能分析
Massif
Callgrind
26
常见陷阱
Valgrind误报处理、抑制文件(suppression)的使用
误报
suppression
27
CI/CD集成
在Jenkins/GitLab CI中集成Makefile + Valgrind
CI/CD
Jenkins
28
课程总结
内存管理最佳实践、Makefile设计模式回顾
总结
最佳实践
29
附录A:Valgrind速查表
Valgrind命令行速查表
速查
附录
30
附录B:案例与修复对照
常见内存泄漏案例与修复代码对照表
对照表
修复
所属VIP或分类
同VIP:Makefile与Qt库链接实战
同VIP:Makefile与Qt项目构建实战
同VIP:Makefile与系统编程入门