Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

用户文档目录

English | 简体中文

这棵树是 mcpp 已实现功能的使用手册。每一章陈述一个能力做什么、怎么写、 当前边界在哪里。设计理由、被否掉的替代方案、以及尚未发布的规划,不写在这里 —— 它们属于设计记录,而设计记录不是用户文档。

文档的归属

读者 内容
docs/** 手上有任务的人 mcpp 已实现的东西怎么用
docs/specs/** 对着机制做实现的人:索引作者、下游工具、贡献者 语义、约束与匹配规则,每条标注实现状态
.agents/docs/** 做过某次改动的人,以及以后问「为什么是这样」的人 推理、实测,以及什么被推翻了
.agents/skills/** 照流程执行的贡献者或 agent 带判据的步骤

章节引用规范以取得精确语义,但不引用设计记录:记录描述的是一个时刻,不带 稳定性承诺,因此读者需要的东西一律写在本树或规范里。

从这里开始

目标 阅读 运行
写一个程序 0104 §1 01-hello02-with-deps
写一个供他人 import 的库 110604 §2.4 04-workspace11-features
发布它 101112 03-pack-static05-lib-distribution
为另一台机器构建 212440 06-openkal-crossmcpp new … --template riscv-virt-rt
使用 GPU 或加速器 4241 09-heterogeneous,从 boundary/ 开始
增加一条规则、一种语言或一个生成器 3130 08-build-rules12-a-new-device-language
向索引添加一个包 11SPEC-001 09 —— 发布相关场景
为别人打包一个工具、一个驱动或一块板子 323334 xim-pkgindexmcpp-index 里的描述符
修改 mcpp 本身 909251

课程也可以以项目模板的形式到达:模板由包提供,mcpp new --template 实例化 它。今天有文档的两个是 riscv-virt-rt(裸机)与 ocornut.imgui(图形应用), 用到它的章节会点名。

章节

首位数字就是部分,所以编号本身说明一章属于哪里:

0x 基础
1x 发布
2x 工具链与目标
3x 扩展 mcpp 与它的生态
4x 设备与加速器
5x 程序可以解析的契约
9x mcpp 自身

同一部分内部的排列是阅读顺序,不是字母序。

0x —— 基础

1x —— 发布

2x —— 工具链与目标

3x —— 扩展 mcpp 与它的生态

4x —— 设备与加速器

5x —— 面向程序的契约

9x —— mcpp 自身

反查

上面的章节表是阅读顺序。这里是另一种索引:从读者眼前的一个记号,查到拥有它的 那一章。

manifest 的表与键

章节 章节
[package][targets.<n>][build][lib] 04 [profile.<n>][resources][runtime] 04
[dependencies][dev-dependencies][build-dependencies] 05 scan_overridesmodule_extensions 04
[features][feature-deps.<f>]provides / requires 06 [workspace] 07
[toolchain]cxx_runtime 20 [target.<sel>]cfg(…) 22
[xlings][xlings.workspace][feature-xlings.<f>] 23 [pack] 10
[build] accel[package] acceleratorsdevice_extensions 42 [hooks] 09
[package] platforms[build] cache 04 [targets.<name>][profile.<name>] 04
runner[target.<t>.runners] 41 rule_module 31

命令

章节 章节
buildrun 01 test 08
newnew --template 01 addupdatewhy 05
pack 10 publishemit xpkgxpkg parse 11
toolchain 20 cleancacheindexself … 09

概念

章节 章节
mcpp 是什么,以及那条保证 00 import std、模块接口、BMI 2030
mcpp::action、构建程序 30 规则包 31
目标三元组、支持矩阵 21 runner、具名 runner 41
岛、接缝、accelMCPP_EXPORT_C 42 描述符、索引 11
ABI tag、预建产物 12 退出码、JSON 输出 50
xim: 载荷、[xlings.workspace] 3223 compat: 适配包、runtime.library_dirs 33

规范文档

规范性文档 —— 语义、约束与匹配规则,每条规则标注其实现状态。 面向索引作者、贡献者与下游工具。