LLVM其是基础设施的编译器分析C++代码,将其转化为称为LLVM IR的中间语言(IR代表中间表示),它看起来像高级别汇编语言.它是一种与机器无关的语言.生成IR是一个阶段.在下一阶段,它会通过各种优化器(称为pass).然后到达第三阶段,发出机器代码(即机器相关代码).
这是一个基于模块的设计; 一相(模块)的输出成为另一相的输入.您可以在磁盘上保存IR,以便以后可以在完全不同的计算机上恢复剩余的阶段!
那么您可以生成IR然后在运行时执行其他操作吗?我自己并没有这样做,但LLVM似乎真的很有前途.
以下是LLVM IR的文档:
Stackoverlow上的这个主题似乎很有趣,正如它所说的那样,
- LLVM的优点:
- JIT - 您可以动态编译和运行代码.
这些文章很好读:
LLVM的设计(在drdobs.com上)
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |