Skip to content

C++ 与 CMake 学习指南

从 C++ 语法速览到 CMake 实战,再到 NAPI 模块构建,一站式掌握 C++ 原生开发。

📚 教程目录

第一部分:C++ 快速入门

掌握 C++ 常用语法与工程实践。

第二部分:CMake 构建系统

深入学习 CMake,掌握构建系统配置。

第三部分:图形学基础

学习 OpenGL ES 图形渲染基础。


🎯 学习路径

初学者路线

text
1. C++ 快速入门 ← 语法基础
   ├─ .h 和 .cpp 文件
   ├─ 常用标准库(vector, string, algorithm)
   ├─ 类和 RAII
   └─ extern "C" 详解

2. CMake 基础 ← 构建系统
   ├─ Hello CMake
   ├─ 生成动态库
   └─ 文件组织

3. CMake 实战 ← NAPI 应用
   ├─ 第三方库管理
   ├─ 依赖链接
   └─ NAPI 模块构建

4. 语法深入 ← 理解规则
   └─ CMake 语法特点

进阶开发者路线

text
1. NAPI 开发
2. HarmonyOS 原生模块
3. 性能优化
4. 多平台构建

图形学路线

text
1. EGL 基础 ← 图形环境
   └─ EGL 是什么、如何初始化

2. OpenGL ES 3 ← 绘制技术
   └─ OpenGL ES 3 vs EGL 区别

3. 图形学基础 ← 渲染原理
   ├─ 为什么用三角形(6顶点/面)
   ├─ 顶点着色器(定位)
   └─ 片段着色器(上色)

💡 特色内容

⭐ C++ 半小时快速入门

核心内容

  • 为什么有 .cpp.h 文件?
  • 多文件工程与头文件用法
  • 最常用语法速览
  • 类(最常用子集)与 RAII 概念
  • 智能指针(unique_ptr)
  • CMake 最小配置
  • extern "C" 详解

适合人群

  • 会写代码但没学过 C++
  • 需要快速上手 C++ 语法
  • 准备学习 NAPI 开发

学习收获

  • 掌握 C++ 常用语法(30 分钟)
  • 理解 .h.cpp 的作用
  • 学会使用 CMake 构建项目
  • 了解 extern "C" 的作用

⭐ CMake 从零到生成动态库

核心内容

  • CMake 是什么?
  • Hello CMake 项目
  • CMake 核心概念
  • 生成动态库
  • 多文件项目
  • 条件编译与路径管理

适合人群

  • 第一次接触 CMake
  • 需要配置构建系统
  • 准备做 NAPI 开发

学习收获

  • 从零掌握 CMake
  • 生成自己的动态库
  • 理解构建流程
  • 掌握常用命令

⭐ NAPI 模块构建详解

核心内容

  • 项目结构设计
  • 主 CMakeLists.txt 逐行详解
  • 第三方库管理(add_subdirectory)
  • NAPI 模块构建(add_library)
  • 头文件路径管理
  • 依赖库链接
  • 完整实例代码

适合人群

  • 要做 HarmonyOS NAPI 开发
  • 需要链接第三方库
  • 想理解构建系统

学习收获

  • 掌握 NAPI 模块构建
  • 理解依赖管理
  • 学会组织多文件项目
  • 能调试构建问题

⭐ CMake 语法解析

核心内容

  • 为什么用空格而不是逗号?
  • CMake 的"方言"特点
  • 各种分隔方式
  • 与其他语言对比
  • 常见错误与解决方案

适合人群

  • 对 CMake 语法感到困惑
  • 来自其他编程语言
  • 想深入理解 CMake

学习收获

  • 理解 CMake 设计哲学
  • 掌握语法规则
  • 避免常见错误
  • 写出规范的 CMakeLists.txt

⭐ 图形学基础系列

核心内容

  • EGL 是什么(翻译官角色)
  • OpenGL ES 3 vs EGL(工地比喻)
  • 为什么一个面需要 6 个顶点(三角形基础)
  • 顶点着色器与片段着色器(上色师傅比喻)

适合人群

  • 做 HarmonyOS 3D 图形开发
  • 学习 OpenGL ES 渲染
  • 理解着色器原理

学习收获

  • 理解 EGL 的作用与初始化流程
  • 掌握 OpenGL ES 3 基本概念
  • 理解三角形渲染原理
  • 掌握顶点着色器和片段着色器的分工

📖 使用指南

如何阅读本教程

  1. 按需学习:根据目录选择需要的章节
  2. 循序渐进:建议按照学习路线顺序学习
  3. 动手实践:每篇文章都有完整代码示例
  4. 查漏补缺:可作为速查手册使用

学习顺序建议

快速上手

text
C++ 快速入门 → CMake 基础 → NAPI 构建

深入学习

text
C++ 快速入门 → CMake 基础 → CMake 实战 → 语法解析

专项学习

  • 只学 C++:阅读 "C++ 快速入门"
  • 只学 CMake:阅读 "CMake 从零到生成动态库"
  • 只学 NAPI:阅读 "NAPI 模块构建详解"

🔧 开发环境

推荐配置

  • C++ 编译器:GCC/Clang
  • CMake:3.16 以上
  • 编辑器:VSCode / CLion / DevEco Studio
  • 操作系统:Windows / Linux / macOS / HarmonyOS

快速搭建

  1. 安装 C++ 编译器(随操作系统自带或下载)
  2. 安装 CMake
  3. 创建第一个项目
  4. 按照教程实践

📝 更新日志

  • 2025-01-27:创建教程目录结构
  • 2025-01-27:添加 C++ 快速入门
  • 2025-01-27:添加 CMake 实战教程
  • 2025-01-27:添加 NAPI 模块构建详解
  • 2025-01-27:添加 CMake 语法解析
  • 2025-01-27:添加图形学基础系列
    • EGL 是什么(翻译官比喻)
    • OpenGL ES 3 与 EGL 区别(工地比喻)
    • 为什么一个面需要 6 个顶点(三角形基础)
    • 顶点着色器与片段着色器(上色师傅比喻)
  • 2025-01-27:添加 C++ 进阶主题
    • typedef 别名与前向声明冲突(人名比喻)
    • Shader 源是什么(食谱比喻)
    • 3D 开发基础(十课入门)

🤝 贡献指南

欢迎贡献内容!

贡献方式

  • 提交 Issue 反馈问题
  • 提交 Pull Request 改进内容
  • 分享学习心得

内容规范

  • 代码示例完整可运行
  • 注释详细规范
  • 排版美观统一
  • 使用大白话解释

🔗 相关资源

官方文档

学习资源

工具推荐


📧 联系方式

  • 技术分享herong.info
  • 问题反馈:通过 Issue 或评论区

让我们一起掌握 C++ 与 CMake! 🚀

本站总访问