Создание библиотеки

RustRustBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном задании мы создадим библиотеку под названием rary на Rust. Библиотека 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-name в rustc или используя атрибут [crate_name][crate-name].

Резюме

Поздравляем! Вы завершили лабораторную работу по созданию библиотеки. Вы можете выполнить больше лабораторных работ в LabEx, чтобы улучшить свои навыки.