gpt4 book ai didi

rust - 如何更好地理解 Rust 中的 Crate?

转载 作者:行者123 更新时间:2023-12-03 11:25:42 25 4
gpt4 key购买 nike

在本书中- Rust By Example ,第 11 章:

A crate is a compilation unit in Rust. Whenever rustc some_file.rs is called, some_file.rs is treated as the crate file.

按照这本书,源文件呢?

The Rust Reference | Crates and source files

The compilation model centers on artifacts called crates. Each compilation processes a single crate in source form, and if successful, produces a single crate in binary form: either an executable or some sort of library.

The Rust compiler is always invoked with a single source file as input, and always produces a single output crate. The processing of that source file may result in other source files being loaded as modules. Source files have the extension .rs.

根据这个说法,我认为:

Source file(.rs file) --> corresponding crate

Just like : .java --> .class

现在我无法理解这个问题;我都在海上。

最佳答案

这是您引用的 Material 的关键部分:

The processing of that source file may result in other source files being loaded as modules.

如果您检查一个典型的库,您会发现一个名为 src/lib.rs 的文件,其中包含几行,例如 mod foo;。每一个都标识另一个文件 src/foo.rs ,编译器会将其解释为另一个模块,构成 crate 的一部分(或者它可以直接包含模块,在同一个文件中)。

并不是一个源文件组成一个 crate:从那个源文件开始,您可以找到构成 crate 的所有文件,这与其他编译模型不同编译器可能会给出许多文件名作为开头。

关于rust - 如何更好地理解 Rust 中的 Crate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63515853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com