1、简介
- LLVM(Low Level Virtual Machine)是一个开源的编译器基础设施项目,最初由克里斯·拉特纳(Chris Lattner)在2000年开发,后来在苹果公司、Google、Mozilla、Intel等多家公司和社区的贡献下不断发展壮大。LLVM 提供了一系列可重用的编译器和工具链技术组件,用于开发编译器前端和后端。
- 组成部分:
- LLVM Core Libraries:核心库,包括中间表示(IR)、类型系统、指令定义等。
- Clang:基于 LLVM 的 C、C++ 和 Objective-C 编译器前端。
- LLD:基于 LLVM 的链接器。
- LLVM IR:中间表示语言,用于描述程序的高级抽象,既可以用作前端和后端的接口,又可用于中间优化。
- LLVM Passes:优化和转换代码的各种 passes,包括循环优化、数据流分析、寄存器分配等。
- LLDB:基于 LLVM 的调试器。
- MLIR(Multi-Level Intermediate Representation):支持多层次中间表示,用于更复杂和异构的计算模型。
2、安装clang
- 下载LLVM并安装。下载地址:Releases · llvm/llvm-project (github.com)
- 验证:
- 下载mingw64(可选)。下载地址:Downloads - MinGW-w64
- 【注】安装 MinGW-w64 并不是必须的,但可以提供一些有用的功能和支持。
- 解压后,配置path。
- 验证:
3、测试
- 准备一个hello.c文件。
-
#include <stdio.h> int main() { printf("Hello, World!\n"); return 0; }
-
-
clang hello.c -o hello.exe