Rust 语言中 rustc是什么?

rustc是 Rust 编程语言的编译器,由项目本身提供。编译器获取源代码并生成二进制代码,作为库或可执行文件。

大多数 Rust 程序员不会rustc直接调用,而是通过 Cargo进行调用。这一切都是为了服务rustc!如果你想看看 Cargo 是如何调用的rustc,你可以

$ cargo build --verbose

它会打印出每个rustc调用。本书可以协助您了解每个选项的作用。此外,虽然大多数 Rustaceans 使用 Cargo,但并非所有人都这样做:有时它们会集成rustc到其他构建系统中。本书应该为您需要执行此操作的所有选项提供指南。

基本用法

假设您的文件中有一个小 hello world 程序hello.rs

fn main() {
    println!("Hello, world ,Hello Rust");
}

要将此源代码转换为可执行文件,您可以使用rustc

$ rustc hello.rs
$ ./hello # on a *NIX
$ .hello.exe # on Windows

请注意,我们只传递rustccrate root,而不是我们希望编译的每个文件。如果我们有一个main.rs看起来像这样的:

mod footest;

fn main() {
    footest::hello();
}

还有一个footest.rs有这个:

pub fn hello() {
    println!("Hello, world!");
}

要编译它,我们将运行以下命令:

$ rustc main.rs

无需rustc讲述footest.rs;这些mod声明提供了它所需的一切。这与使用 C 编译器的方式不同,在 C 编译器中,您对每个文件调用编译器,然后将所有内容链接在一起。换句话说,crate是一个翻译单元,而不是一个特定的模块。

© 版权声明

相关文章

暂无评论

none
暂无评论...