Low Level Virtual Machine
[存疑]可以理解为是一个编译器的模板
Clang是基于LLVM的编译器(是llvm项目的一个子项目)
sudo apt install llvm clang llvm-dev # 暂未验证
brew install llvm
从官网下载,然后配置路径
安装好后可能需要配置PATH才能访问到llvm-config,能访问到就是安装成功了
llvm-config --version
# 使用 llvm-config 可以给出编译 & 链接的参数 llvm-config --cxxflags --ldflags --libs core # --cxxflags 给出编译参数,比如-Iinclude_path # --ldflags 给出链接参数,比如-Llink_path # --libs core 指定需要链接哪些组件,比如core,给出链接需要的链接参数(应该是) # 常见的组件有:core executionengine mcjit native
Intermediate Representation, IR
MCJIT 或 Orc
LLVM(Low Level Virtual Machine)是一个强大的编译器架构,支持静态和动态编译语言的前端和后端。它不仅是一种特定的软件产品,而是一个包括编译器、工具链和中间表示(Intermediate Representation,IR)语言的完整系统,旨在优化编译时间、程序运行时间以及空闲时间的代码生成和执行。
LLVM的核心特征包括:
LLVM的这些特性使得它不仅被用作传统编译器的后端,也被用于其他类型的语言处理工具,例如静态分析工具和即时编译器。此外,LLVM的设计也极大地促进了编译器开发的研究和教育,因为其代码库具有高度的可读性和文档完善。