Skip to content

目标树

目标树将构建产物渲染为依赖森林,展示"什么由什么构建而来"。

内置脚本:script::target-tree

用法

bash
catter script::target-tree [options] -- <build-command>

选项

选项说明
-d, --depth <n>限制渲染深度。

输出

目标树与命令树的视角相反。它不展示进程的父子关系,而是将输出产物(可执行文件、库文件、目标文件)作为父节点,将其输入文件作为子节点。

例如,命令树中显示 gcc main.o util.o -o app,而目标树则显示为:

app
├── main.o
│   └── main.c
├── util.o
│   └── util.c

这样可以清晰地看到哪些源文件参与了哪些最终产物的构建。

使用场景

  • 理解目标依赖 -- 查看从最终二进制文件到源文件的完整依赖链。
  • 分析 C++20 模块的构建图 -- 追踪模块接口单元及其使用者。
  • 识别源文件贡献 -- 确定哪些源文件参与了哪些目标的构建,有助于拆分或重构构建结构。