Rust编译流程介绍
Rust是一种编译型语言,在较低的层级上实现了各种高层级语言才有的便捷特性。它和较低层级C语言一样高性能,同时又跟Python高层级语言一样,拥有自带的安全性和易用性。
Rust的编译器为rustc,rustc使用LLVM作为编译器后端生成对应的机器码。Rust从源码到可执行程序简易流程如图1所示。
本质上讲Rustc是一个LLVM编译前端,它将代码编译为LLVM IR,后续的编译和链接工作是交给LLVM执行的。
由此Rust开发的程序拥有很好的可移植性,可以在当前平台下编译出可运行于其他平台的应用程序和库。
Rust编译流程大致如下:
- rustc对Rust源码进行词法分析及解析,转换为HIR高级中间表示文件。
- 进行静态类型检查等分析生成MIR中级中间表示文件,进一步完成LLVM IR转换及IR优化生成LLVM IR中间表示。
- 利用LLVM后端编译、链接,生成对应平台的机器码(可执行程序)。
Rust语言迁移主要包含SSE类指令、内嵌汇编的源码文件,一般的Rust源码文件,只需在鲲鹏平台重新编译即可完成迁移。
父主题: Rust语言迁移