创建一个库

RustRustBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,我们将用 Rust 创建一个名为 rary 的库。rary 库包含一个名为 public_function 的公共函数、一个名为 private_function 的私有函数以及一个名为 indirect_access 的间接访问函数。之后,我们使用 rustc 命令编译该库,生成一个名为 library.rlib 的文件。

注意:如果实验未指定文件名,你可以使用任何你想要的文件名。例如,你可以使用 main.rs,并通过 rustc main.rs &&./main 来编译和运行它。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"]) rust(("Rust")) -.-> rust/MemorySafetyandManagementGroup(["Memory Safety and Management"]) rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax") rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements") rust/MemorySafetyandManagementGroup -.-> rust/lifetime_specifiers("Lifetime Specifiers") subgraph Lab Skills rust/function_syntax -.-> lab-99337{{"创建一个库"}} rust/expressions_statements -.-> lab-99337{{"创建一个库"}} rust/lifetime_specifiers -.-> lab-99337{{"创建一个库"}} end

创建一个库

让我们创建一个库,然后看看如何将它链接到另一个 crate。

rary.rs 中:

pub fn public_function() {
    println!("called rary's `public_function()`");
}

fn private_function() {
    println!("called rary's `private_function()`");
}

pub fn indirect_access() {
    print!("called rary's `indirect_access()`, that\n> ");

    private_function();
}
$ rustc --crate-type=lib rary.rs
$ ls lib*
library.rlib

库的文件名前缀为 "lib",并且默认情况下它们会根据其 crate 文件命名,但可以通过向 rustc 传递 --crate-name 选项或使用 [crate_name 属性][crate-name] 来覆盖这个默认名称。

总结

恭喜你!你已经完成了“创建一个库”实验。你可以在 LabEx 中练习更多实验来提升你的技能。