首页
›
编程基础与工程化
›
012-Makefile
›
《Makefile断点排查与修复实战》
VIP20
本课程属于:012-Makefile
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Makefile断点排查与修复实战
📚 共计 30 章节
01
Makefile基础回顾
什么是Makefile、核心三要素(目标、依赖、命令)、一个最简单的Makefile示例
入门
核心概念
02
Makefile变量与函数
变量定义与引用、自动变量($@, $^, $<)、常用函数(wildcard, patsubst, foreach)
变量
函数
03
Makefile规则与模式
显式规则与隐式规则、模式规则(%.o: %.c)、静态模式规则
规则
模式
04
Makefile条件判断
ifeq/ifneq/ifdef/ifndef的使用、条件判断的常见陷阱
条件
陷阱
05
Makefile的include机制
include指令、-include与sinclude的区别、避免循环包含
包含
模块
06
Makefile的递归调用
$(MAKE)的使用、传递变量给子Makefile、避免递归调用的死循环
递归
子Make
07
Makefile的伪目标
.PHONY的作用、常见伪目标(all, clean, install, test)
伪目标
PHONY
08
自动依赖生成
gcc -MM生成依赖、将依赖文件包含进Makefile
依赖
自动
09
调试方法(一)
使用info/warning/error函数输出调试信息
调试
info
10
调试方法(二)
使用--debug选项、-d选项、--print-directory
调试
选项
11
调试方法(三)
$(warning $(variable))打印变量值、$(error)中断构建
调试
变量
12
调试方法(四)
make --just-print(-n)模拟执行、--dry-run
模拟
dry-run
13
调试方法(五)
使用make --trace追踪每条规则的执行
追踪
trace
14
常见错误(一)
缺少分隔符(Missing separator)、命令前必须为Tab
错误
分隔符
15
常见错误(二)
循环依赖(Circular dependency)、死循环的排查
错误
循环
16
常见错误(三)
变量未定义或覆盖、:=与=的区别导致的逻辑错误
错误
变量
17
常见错误(四)
隐式规则冲突、模式规则匹配错误
错误
隐式规则
18
常见错误(五)
include文件不存在、-include的误用
错误
include
19
常见错误(六)
递归调用中的变量传递丢失、环境变量污染
错误
递归
20
常见错误(七)
伪目标被当作文件、.PHONY遗漏
错误
PHONY
21
常见错误(八)
自动变量在规则外使用、$@在配方外无效
错误
自动变量
22
常见错误(九)
函数参数错误、空格导致的匹配失败
错误
函数
23
常见错误(十)
多目标规则中的$@理解错误、组目标(&:)的误用
错误
多目标
24
实战排查(一)
从编译错误日志反推Makefile问题
实战
日志
25
实战排查(二)
大型项目中的Makefile分层调试策略
实战
分层
26
实战排查(三)
使用make --warn-undefined-variables检测未定义变量
实战
未定义
27
实战排查(四)
使用remake调试器进行交互式调试
实战
remake
28
实战排查(五)
并行构建(-j)下的竞态条件排查
实战
并行
29
Makefile优化与重构
消除冗余规则、合并重复代码、提升可维护性
优化
重构
30
最佳实践与总结
命名规范、注释规范、模块化设计、持续集成中的Makefile检查
最佳实践
总结
所属VIP或分类
同VIP:Makefile与Qt库链接实战
同VIP:Makefile与Qt项目构建实战
同VIP:Makefile与系统编程入门