Skip to content

Glossary

This document compiles the core terms used throughout the project tutorials, grouped by domain, with Chinese and English translations. Its purpose is to ensure consistent terminology across all articles, preventing the same concept from being translated differently in different places.

C++ Language Features

English中文备注
RAII (Resource Acquisition Is Initialization)资源获取即初始化C++ 核心资源管理范式
move semantics移动语义C++11 核心特性,避免不必要的拷贝
rvalue reference右值引用T&&,移动语义的基础
perfect forwarding完美转发std::forward,保持值类别
copy elision拷贝消除编译器优化,省略拷贝/移动操作
return value optimization (RVO)返回值优化命名 NRVO,未命名 URVO
zero-overhead abstraction零开销抽象C++ 设计哲学,不为未使用的功能付费
smart pointer智能指针unique_ptrshared_ptrweak_ptr
unique pointer独占指针std::unique_ptr,独占所有权
shared pointer共享指针std::shared_ptr,引用计数共享所有权
weak pointer弱引用指针std::weak_ptr,打破循环引用
intrusive pointer侵入式指针引用计数嵌入对象内部
constexpr常量表达式编译期求值,C++11 引入
consteval立即函数C++20,强制编译期求值
constinit常量初始化C++20,避免静态初始化顺序问题
SFINAE (Substitution Failure Is Not An Error)替换失败并非错误模板元编程基础机制
CRTP (Curiously Recurring Template Pattern)奇异递归模板模式静态多态惯用法
template模板泛型编程基础
template specialization模板特化为特定类型提供定制实现
template instantiation模板实例化编译器根据模板生成具体代码
generic programming泛型编程基于模板的编程范式
type safety类型安全编译期捕获类型错误
type deduction / inference类型推断autodecltype、模板参数推断
type traits类型特征<type_traits>,编译期类型查询
concepts概念C++20,对模板参数的命名约束
constraints约束requires 子句,限制模板参数
lambda expressionLambda 表达式匿名函数对象,C++11 引入
structured binding结构化绑定C++17,auto [a, b] = ...
enum class限定作用域枚举C++11,类型安全的枚举
variant变体类型std::variant,类型安全的联合体
optional可选值std::optional,可能为空的值
expected预期值C++23,携带错误信息的返回值
any任意类型std::any,类型擦除的容器
scope guard作用域守卫析构时执行清理动作
coroutine协程C++20,co_await/co_yield/co_return
module模块C++20,替代头文件的编译单元
range范围C++20,组合式算法库
view视图范围库中的惰性求值适配器
undefined behavior (UB)未定义行为标准未规定的行为,结果不可预测
one definition rule (ODR)唯一定义规则每个实体在程序中只能有一个定义
stack unwinding栈展开异常处理时逐层析构栈上对象
designated initializer指定初始化器C++20,{.x = 1, .y = 2}
user-defined literal用户自定义字面量operator""_suffix
spaceship operator飞船运算符C++20,<=> 三路比较
atomic operation原子操作不可分割的并发安全操作
memory order内存序原子操作的排序约束
lock-free无锁不使用互斥锁的并发算法
mutex互斥量互斥锁,保护共享数据
semaphore信号量计数同步原语
critical section临界区同一时刻只允许一个线程执行的代码段
dead lock死锁多个线程互相等待对方释放资源
thread线程std::thread,并发执行单元
span视图跨度std::span,对连续序列的非拥有视图
EBO (Empty Base Optimization)空基类优化空类作为基类时不占空间
static polymorphism静态多态编译期多态,基于 CRTP 或模板

Embedded Hardware

English中文备注
MCU (Microcontroller Unit)微控制器集成 CPU、内存、外设的单芯片
SoC (System on Chip)片上系统高度集成的单片系统
register寄存器硬件可编程的控制/数据单元
interrupt中断硬件信号打断 CPU 正常执行流
interrupt service routine (ISR)中断服务程序中断触发时执行的函数
DMA (Direct Memory Access)直接内存访问外设与内存间无需 CPU 参与的数据传输
GPIO (General-Purpose I/O)通用输入输出可配置的数字引脚
ADC (Analog-to-Digital Converter)模数转换器模拟信号转数字信号
DAC (Digital-to-Analog Converter)数模转换器数字信号转模拟信号
PWM (Pulse Width Modulation)脉宽调制通过占空比控制输出
PLL (Phase-Locked Loop)锁相环倍频时钟生成电路
AHB (Advanced High-performance Bus)高级高性能总线ARM 内部高速总线
APB (Advanced Peripheral Bus)高级外设总线ARM 内部外设总线
clock tree时钟树从晶振到各模块的时钟分发网络
pull-up resistor上拉电阻默认拉高电平
pull-down resistor下拉电阻默认拉低电平
push-pull推挽输出可主动输出高/低电平
open-drain开漏输出只能拉低,需外接上拉电阻
debounce消抖去除机械按键的抖动信号
watchdog看门狗超时复位 CPU 的安全机制
EXTI (External Interrupt)外部中断外部引脚触发的中断
peripheral外设MCU 内部独立功能模块
PCB (Printed Circuit Board)印制电路板电子元件的载体
NVIC (Nested Vectored Interrupt Controller)嵌套向量中断控制器ARM Cortex-M 中断管理器
HAL (Hardware Abstraction Layer)硬件抽象层ST 官方外设驱动库
linker script链接脚本定义内存布局和段分配
startup code启动代码C 运行时初始化,在 main 之前执行

RTOS (Real-Time Operating System)

English中文备注
RTOS (Real-Time Operating System)实时操作系统保证响应时间的操作系统
scheduler调度器决定哪个任务获得 CPU
context switch上下文切换保存/恢复任务执行状态
priority inversion优先级反转低优先级任务阻塞高优先级任务
preemptive scheduling抢占式调度高优先级任务可抢占低优先级
cooperative scheduling协作式调度任务主动让出 CPU
task / thread任务 / 线程RTOS 中的执行单元
tick系统节拍RTOS 的基本时间单位
deadline截止时间任务必须完成的时间点
queue消息队列任务间传递数据的 FIFO
priority inheritance优先级继承解决优先级反转的协议
inter-process communication (IPC)进程间通信任务间数据交换机制
binary semaphore二值信号量只有 0/1 两种状态的信号量
counting semaphore计数信号量可大于 1 的信号量
event group事件组多位标志的事件同步机制
idle task空闲任务无其他任务就绪时运行
real-time实时确定性的响应时间要求

Toolchain

English中文备注
cross-compile交叉编译在一个平台上生成另一个平台的代码
toolchain工具链编译器 + 汇编器 + 链接器的集合
CMakeCMake跨平台构建系统生成器
MakefileMakefilemake 构建工具的配置文件
flash烧录将程序写入目标芯片
debug probe调试探针连接主机与目标板的硬件调试器
JTAGJTAG联合测试行动组调试接口
SWD (Serial Wire Debug)串行线调试ARM 两线调试接口
OpenOCDOpenOCD开源片上调试器
ELF (Executable and Linkable Format)ELF 格式可执行可链接格式,编译器输出
hexIntel HEX 格式烧录用的文本格式
objcopy对象复制格式转换工具(ELF→HEX/BIN)
compiler flag编译器选项控制编译行为的命令行参数
optimization level优化等级-O0/-O1/-O2/-Os/-O3
preprocessor预处理器处理 #include#define
linker链接器将目标文件合并为可执行文件
assembler汇编器将汇编代码转为目标文件
build system构建系统自动化编译流程的工具
dependency依赖一个模块需要另一个模块
static library静态库编译时链接的 .a/.lib 文件
shared library动态库运行时加载的 .so/.dll 文件

Debugging

English中文备注
breakpoint断点暂停程序执行的标记
watchpoint观察点监视内存/变量变化的标记
trace跟踪记录程序执行流
semihosting半主机目标板通过调试器使用主机 I/O
ITM (Instrumentation Trace Macrocell)指令跟踪宏单元ARM Cortex-M 调试输出
ETM (Embedded Trace Macrocell)嵌入式跟踪宏单元指令级执行跟踪
logic analyzer逻辑分析仪捕获多路数字信号的工具
oscilloscope示波器观察电信号波形的仪器
GDB (GNU Debugger)GDB 调试器GNU 开源调试器
core dump核心转储程序崩溃时的内存快照
backtrace调用栈回溯函数调用链的回溯信息
single-step单步执行逐条指令/语句执行
memory leak内存泄漏分配的内存未被释放
stack overflow栈溢出栈空间用尽

Built with VitePress