Skip to content

术语表

本文档收录项目教程中出现的核心术语,按领域分组,提供中英文对照。目的是确保全文术语翻译一致,避免同一概念在不同文章中出现不同译法。

C++ 语言特性

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 或模板

嵌入式硬件

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(实时操作系统)

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实时确定性的响应时间要求

工具链

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 文件

调试

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栈溢出栈空间用尽

基于 VitePress 构建