Skip to content

版本与方法说明

分析基线

项目
Telegram Desktop7.0.6
AppVersion7000006
上游 tagv7.0.6
主源码目录Telegram/SourceFiles
C/C++ 文件规模约 2,800 个文件、106 万行(本地快照统计)
站点框架VitePress 1.6.4

数字只用于帮助读者判断规模,不应被理解为稳定 API。文档没有把生成物、资源文件、第三方库和上游子模块全部计入“主源码行数”。

拆解方法

本教程采用“行为切片”而非“目录切片”:先选择启动、发送、收更新、打开会话、下载、播放等真实行为,再沿调用链识别稳定对象和边界。每条链路至少交叉检查以下证据:

  • 头文件中的所有权与公开接口;
  • 构造/销毁路径中的生命周期;
  • 请求成功、失败、取消与重试分支;
  • 服务端 Updates 回流后的数据写入;
  • rpl producer 到 UI consumer 的连接;
  • 本地存储或缓存的恢复路径。

取舍与限制

  • 文档追求主干完整,不逐一解释上千个产品功能;Stories、Business、Stars、Passport、Instant View 等功能通过通用架构定位。
  • MTProto 密码学原语不是本教程重点;这里解释客户端请求、连接、会话和更新编排,不替代正式协议文档或安全审计。
  • lib_rpllib_baselib_ui 等子模块的内部实现只在理解主程序调用方式所需时出现。
  • 短代码片段会做省略和改名提示;完整源码与许可证以 Telegram Desktop 上游仓库为准。

链接策略

所有上游源码链接固定到 tag;站内链接在 CI 中做存在性检查,VitePress 构建还会检查 Markdown 解析和静态站点生成。若上游 tag 页面无法在某地区访问,仍可用正文里的相对路径在本地源码中搜索。

独立学习资料 · 基于 Telegram Desktop v7.0.6