Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

d2mcpp 解读视频/动画

动画代码

Manim Community v0.18.1。manim 本体由 uv 装(纯 pip);pycairo/manimpango 的原生依赖 —— xcb-free 的 cairo/pango 图形栈 —— 用 xlings 装进项目 subos,免去系统 gcc 的 xcb 坑。

# 1. 一次性:装图形栈 + uv 进项目 subos(cairo/pango 的 deps 自动拉全树)
xlings install cairo pango uv

# 2. 渲染:用启动器(已封装 PKG_CONFIG_PATH / uv 依赖 / pygments pin,免手输环境变量)
videos/render.sh cpp11/00-auto-and-decltype.py          # 默认 -ql 快预览
videos/render.sh cpp11/00-auto-and-decltype.py -qh      # 高清 1080p
启动器封装了什么 / 手动等价命令

videos/render.sh <场景> [manim参数] 等价于(在仓库根执行):

SR=$PWD/.xlings/subos/_/usr          # 项目匿名 subos —— xlings install 装在这, xlings-gcc 默认也搜它
PKG_CONFIG_PATH=$SR/lib/pkgconfig \
  uv run --with "manim==0.18.1" --with "pygments==2.17.2" \
  manim -ql videos/cpp11/00-auto-and-decltype.py
  • PKG_CONFIG_PATH 指向项目 subos,让 pkg-config 命中 xcb-free cairo(而非宿主 apt 带 xcb 的)——仅首次/清缓存后编译 pycairo/manimpango 时需要,编好的 wheel 被 uv 缓存后可省。
  • pygments==2.17.2 避开 manim 0.18.1 的 Code 渲染 #CCC bug。
  • 兜底(没装生态栈时,用系统 gcc 绕开 xlings-gcc 的 xcb 坑):
    CC=/usr/bin/gcc CXX=/usr/bin/g++ \
      uv run --with "manim==0.18.1" --with "pygments==2.17.2" \
      manim -ql videos/cpp11/00-auto-and-decltype.py

视频列表

c++标准 特性 标题 练习代码/视频 备注
引导 项目使用教程/引导 hello mcpp docs / code / video
cpp11 00 - auto和decltype 类型自动推导 docs / code / video
练习讲解 code / video
decltype注意事项 code / video 补充
01 - default和delete 控制默认构造函数生成 code / video
类型对象行为控制示例 code / video
02 - override和final 重写显示意图和编译器检查 code / video
继承和重现限制 code / video
03 - 后置返回值类型 后置返回值类型基础用法 code / video
04 - 右值引用 临时对象生命周期延长的可变性质 code / video
05 - 移动语义 移动构造和触发时机 code / video
移动赋值和触发时机 code / video
移动的不是对象而是资源 code / video
06 - 作用域枚举 传统枚举的问题 code / video
作用域枚举的基本用法 code / video
07 - constexpr const和constexpr有什么不同 code / video
编译期计算应用示例 code / video
08 - literal-type 什么是字面值类型 code / video 编译期加密库示例
如何定义一个字面值类型 code / video
09 - 列表初始化 现代C++初始化风格 code / video
-> code1 / code2 / code3
10 - 委托构造函数 委托构造基础用法和注意事项 code / video
-> code1
11 - 继承构造函数 继承构造函数的基础用法 code / video