中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

Rust编译流程介绍

Rust是一种编译型语言,在较低的层级上实现了各种高层级语言才有的便捷特性。它和较低层级C语言一样高性能,同时又跟Python高层级语言一样,拥有自带的安全性和易用性。

Rust的编译器为rustc,rustc使用LLVM作为编译器后端生成对应的机器码。Rust从源码到可执行程序简易流程如图1所示。

本质上讲Rustc是一个LLVM编译前端,它将代码编译为LLVM IR,后续的编译和链接工作是交给LLVM执行的。

由此Rust开发的程序拥有很好的可移植性,可以在当前平台下编译出可运行于其他平台的应用程序和库。

Rust编译流程大致如下:

图1 Rust程序编译执行过程
  1. rustc对Rust源码进行词法分析及解析,转换为HIR高级中间表示文件。
  2. 进行静态类型检查等分析生成MIR中级中间表示文件,进一步完成LLVM IR转换及IR优化生成LLVM IR中间表示。
  3. 利用LLVM后端编译、链接,生成对应平台的机器码(可执行程序)。

Rust语言迁移主要包含SSE类指令、内嵌汇编的源码文件,一般的Rust源码文件,只需在鲲鹏平台重新编译即可完成迁移。