首页
›
编程基础与工程化
›
001-C 工程化
›
《跨平台编译与工程构建实战》
VIP20
本课程属于:001-C 工程化
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
跨平台编译与工程构建实战
📚 共计 30 章节
01
编译基础:从源码到可执行文件
理解预处理、编译、汇编、链接四个阶段
核心概念
入门
02
GCC入门
GCC安装与基本用法,常用编译选项详解(-O, -g, -Wall等)
编译器
选项
03
Makefile基础
规则与语法,目标、依赖、命令的编写
构建工具
自动化
04
Makefile进阶
变量、自动变量、模式规则、函数的使用
进阶
高效
05
CMake入门
安装与基本语法,构建一个简单的Hello World项目
CMake
跨平台
06
CMake进阶
库的构建(静态库与动态库),target_link_libraries与target_include_directories
库管理
依赖
07
CMake实战:多目录项目管理
使用add_subdirectory组织大型项目
项目结构
模块化
08
跨平台编译概念
什么是交叉编译,宿主机与目标机,工具链的概念
交叉编译
原理
09
交叉编译工具链
GCC交叉编译器的安装与配置,sysroot的作用
工具链
嵌入式
10
CMake交叉编译
使用CMake工具链文件(toolchain.cmake)进行交叉编译
CMake
交叉
11
Windows平台编译
MinGW与MSYS2环境搭建,在Windows上编译Linux程序
Windows
MinGW
12
Linux平台编译
Linux原生编译环境,静态链接与动态链接的差异
Linux
链接
13
macOS平台编译
Xcode Command Line Tools,Homebrew管理依赖
macOS
Xcode
14
Android NDK编译
使用NDK进行C/C++交叉编译,生成.so库
Android
NDK
15
iOS编译
iOS静态库与动态库的编译,Xcode工程与CMake的集成
iOS
Xcode
16
WebAssembly编译
使用Emscripten将C/C++编译为Wasm模块
Wasm
Emscripten
17
嵌入式Linux编译
ARM架构的交叉编译,树莓派与ARM Cortex系列
嵌入式
ARM
18
包管理工具
vcpkg与Conan的安装与使用,管理第三方依赖库
vcpkg
Conan
19
持续集成中的编译
GitHub Actions与Jenkins中配置跨平台编译流水线
CI/CD
自动化
20
编译优化
-O0到-O3的差异,LTO(链接时优化)的使用
优化
性能
21
调试与符号
-g选项与调试符号,strip命令去除符号表
调试
符号
22
构建系统对比
Make vs Ninja vs MSBuild,选择合适的构建后端
构建系统
对比
23
预处理器与宏
条件编译(#ifdef),平台检测宏(_WIN32, __linux__)
预处理
宏
24
ABI兼容性
C与C++的ABI差异,extern "C"的作用,名称修饰
ABI
兼容
25
动态库的加载
dlopen与dlsym,Windows上的LoadLibrary与GetProcAddress
动态库
运行时
26
版本控制与构建
语义化版本号,CMake中的版本管理,SONAME
版本
SONAME
27
测试与构建
CTest集成测试,构建时自动运行单元测试
测试
CTest
28
安装与打包
CMake的install命令,CPack生成安装包(deb, rpm, dmg)
打包
CPack
29
大型项目实战
使用CMake构建一个支持Linux/Windows/macOS的图形界面应用
实战
GUI
30
总结与展望
跨平台编译的常见陷阱,未来趋势(Bazel, Meson等)
总结
趋势
所属VIP或分类
同VIP:C++代码规范与工程化开发与项目实践
同VIP:C++内存管理系统实战
同VIP:C++工程化故障诊断与工程实践