[缩略语大全]之[编译器]篇

缩略语大全之:编译器篇

------ 从源代码到二进制的一切黑魔法

一、编译器总体与通用术语

1.1 编译流程全局概念

|-----------|------------------------------|--------------|
| 缩略语 | 全称 | 说明 |
| Compiler | Compiler | 编译器 |
| Toolchain | Toolchain | 工具链 |
| Frontend | Front End | 前端(语法 → IR) |
| Backend | Back End | 后端(IR → 机器码) |
| Driver | Compiler Driver | 编译驱动(如 gcc) |
| Pipeline | Compilation Pipeline | 编译流水线 |
| Pass | Compiler Pass | 编译器处理阶段 |
| IR | Intermediate Representation | 中间表示 |
| Target | Target Architecture | 目标架构 |
| ABI | Application Binary Interface | 应用二进制接口 |


1.2 编译阶段缩略语

|-----|------------------------|-------|
| 缩略语 | 全称 | 说明 |
| PP | Preprocessor | 预处理 |
| CC | Compilation | 编译 |
| AS | Assembler | 汇编 |
| LD | Linker | 链接 |
| LTO | Link Time Optimization | 链接时优化 |
| JIT | Just-In-Time | 即时编译 |
| AOT | Ahead-Of-Time | 预编译 |


二、主流编译器与工具链家族


2.1 GCC 家族

|-----------|-------------------------|------------|
| 缩略语 | 全称 | 说明 |
| GCC | GNU Compiler Collection | GNU 编译器集合 |
| cc | C Compiler | C 编译器别名 |
| g++ | GNU C++ Compiler | C++ 编译器 |
| gcov | GNU Coverage | 覆盖率分析 |
| gprof | GNU Profiler | 性能分析 |
| libgcc | libgcc | GCC 运行时支持库 |
| libstdc++ | libstdc++ | C++ 标准库实现 |


2.2 LLVM / Clang 生态

|-------------|---------------------------|----------|
| 缩略语 | 全称 | 说明 |
| LLVM | Low Level Virtual Machine | 编译器基础设施 |
| Clang | Clang Frontend | LLVM 前端 |
| clang++ | C++ Frontend | C++ 前端 |
| clangd | Clang Daemon | LSP 编译服务 |
| llc | LLVM Static Compiler | IR → 机器码 |
| opt | LLVM Optimizer | IR 优化器 |
| lld | LLVM Linker | 链接器 |
| libc++ | libc++ | C++ 标准库 |
| compiler-rt | compiler-rt | 编译器运行时 |


2.3 Intel / 商业编译器

|-------|----------------------|-------------|
| 缩略语 | 全称 | 说明 |
| ICC | Intel C Compiler | Intel 经典编译器 |
| ICX | Intel LLVM Compiler | LLVM-based |
| IFX | Intel Fortran LLVM | Fortran 编译器 |
| MSVC | Microsoft Visual C++ | 微软编译器 |
| NVCC | NVIDIA CUDA Compiler | CUDA 编译器 |
| HIPCC | HIP Compiler | AMD GPU 编译 |


三、前端(Frontend)相关缩略语


3.1 词法、语法、语义分析

|-----------|----------------------|---------|
| 缩略语 | 全称 | 说明 |
| Lexer | Lexical Analyzer | 词法分析 |
| Parser | Syntax Parser | 语法分析 |
| AST | Abstract Syntax Tree | 抽象语法树 |
| CFG | Context-Free Grammar | 上下文无关文法 |
| Sema | Semantic Analysis | 语义分析 |
| TypeCheck | Type Checking | 类型检查 |


3.2 前端工具与生成器

|-------|---------------------------------------|---------|
| 缩略语 | 全称 | 说明 |
| Lex | Lexical Generator | 词法生成 |
| Yacc | Yet Another Compiler Compiler | 语法生成 |
| Bison | GNU Bison | Yacc 实现 |
| ANTLR | ANother Tool for Language Recognition | 现代解析器 |


四、中间表示(IR)体系


4.1 IR 形式

|---------|-----------------------------|------------|
| 缩略语 | 全称 | 说明 |
| IR | Intermediate Representation | 中间表示 |
| SSA | Static Single Assignment | 静态单赋值 |
| GIMPLE | GIMPLE | GCC IR |
| RTL | Register Transfer Language | GCC 后端 IR |
| LLVM IR | LLVM IR | LLVM 核心 IR |
| MIR | Machine IR | 机器相关 IR |


4.2 控制与数据流

|-----------|--------------------|----------|
| 缩略语 | 全称 | 说明 |
| CFG | Control Flow Graph | 控制流图 |
| DFG | Data Flow Graph | 数据流图 |
| PHI | PHI Node | SSA 合流节点 |
| BB | Basic Block | 基本块 |
| Dominator | Dominator Tree | 支配树 |


五、优化(Optimization)相关缩略语


5.1 常见优化技术

|-----------|----------------------------------|----------|
| 缩略语 | 全称 | 说明 |
| DCE | Dead Code Elimination | 死代码消除 |
| CSE | Common Subexpression Elimination | 公共子表达式 |
| LICM | Loop Invariant Code Motion | 循环不变代码外提 |
| SROA | Scalar Replacement of Aggregates | 标量替换 |
| Inlining | Function Inlining | 内联 |
| Unroll | Loop Unrolling | 循环展开 |
| Vectorize | Vectorization | 向量化 |


5.2 架构相关优化

|---------|----------------------------------|--------|
| 缩略语 | 全称 | 说明 |
| ILP | Instruction Level Parallelism | 指令级并行 |
| SIMD | Single Instruction Multiple Data | 向量化 |
| PGO | Profile Guided Optimization | 配置引导优化 |
| BOLT | Binary Optimization | 二进制级优化 |
| AutoVec | Auto Vectorization | 自动向量化 |


六、后端(Backend)与代码生成


6.1 代码生成流程

|------------|------------------------|-------|
| 缩略语 | 全称 | 说明 |
| ISel | Instruction Selection | 指令选择 |
| RA | Register Allocation | 寄存器分配 |
| Scheduling | Instruction Scheduling | 指令调度 |
| Peephole | Peephole Optimization | 窗口优化 |
| MC | Machine Code | 机器码 |


6.2 汇编与目标格式

|--------|--------------------------------|---------|
| 缩略语 | 全称 | 说明 |
| ASM | Assembly | 汇编 |
| ELF | Executable and Linkable Format | 可执行格式 |
| COFF | Common Object File Format | Windows |
| Mach-O | Mach Object | macOS |
| DWARF | DWARF | 调试信息格式 |


七、链接、加载与运行时


7.1 链接相关

|-------|-------------------------|----------|
| 缩略语 | 全称 | 说明 |
| LD | Linker | 链接器 |
| LLD | LLVM Linker | LLVM 链接器 |
| BFD | Binary File Descriptor | GNU 后端 |
| PLT | Procedure Linkage Table | 过程链接表 |
| GOT | Global Offset Table | 全局偏移表 |
| RELRO | Relocation Read-Only | 安全机制 |


7.2 运行时支持

|------|----------------------|--------|
| 缩略语 | 全称 | 说明 |
| CRT | C Runtime | C 运行时 |
| libc | C Standard Library | C 标准库 |
| ABI | ABI | 二进制接口 |
| TLS | Thread Local Storage | 线程局部存储 |
| EH | Exception Handling | 异常处理 |


八、调试、分析与工具


8.1 调试相关

|-------|------------------------------|----------|
| 缩略语 | 全称 | 说明 |
| GDB | GNU Debugger | 调试器 |
| LLDB | LLVM Debugger | LLVM 调试器 |
| DWARF | DWARF Debug Info | 调试信息 |
| ASan | Address Sanitizer | 内存检测 |
| TSan | Thread Sanitizer | 线程检测 |
| UBSan | Undefined Behavior Sanitizer | 未定义行为 |


8.2 静态与动态分析

|---------|-------------------------|---------|
| 缩略语 | 全称 | 说明 |
| LTO | Link Time Optimization | 链接期优化 |
| ThinLTO | ThinLTO | 分布式 LTO |
| SCA | Static Code Analysis | 静态分析 |
| DSA | Dynamic Static Analysis | 动态分析 |


九、现代趋势与前沿方向

|------------|-------------------------------|------------|
| 缩略语 | 全称 | 说明 |
| MLIR | Multi-Level IR | 多层 IR |
| CIR | C Intermediate Representation | Clang 新 IR |
| WASM | WebAssembly | Web IR |
| eBPF | Extended BPF | 内核 IR |
| Polyhedral | Polyhedral Model | 多面体优化 |
| JIT | Just-In-Time | 动态编译 |

相关推荐
白帽子黑客罗哥5 小时前
护网行动中遇到突发安全事件的标准应急响应流程
网络·安全·web安全·计算机·护网行动
Vv1997_9 小时前
JavaWeb后端全局异常处理
状态模式
小郎君。10 小时前
PDF-知识图谱全流程前后端实现【工具已实现,搭建前后端pipline】
pdf·状态模式·知识图谱
老兵发新帖10 小时前
OpenClaw 安装并配置飞书插件
飞书
前端不太难10 小时前
HarmonyOS PC 焦点系统的正确建模方式
华为·状态模式·harmonyos
前端不太难12 小时前
HarmonyOS PC 如何应对多输入交互?
状态模式·交互·harmonyos
前端不太难1 天前
HarmonyOS PC 文档模型完整范式
华为·状态模式·harmonyos
Maynor9961 天前
Clawdbot安装教程:从零开始到接入飞书
java·数据库·飞书
前端不太难1 天前
HarmonyOS 项目中如何拆分共用层与形态模型
华为·状态模式·harmonyos
kogorou0105-bit1 天前
前端设计模式:发布订阅与依赖倒置的解耦之道
前端·设计模式·面试·状态模式