← Назад
Контейнер (crate) — единица компиляции в языке Rust.
rustc --crate-type=lib rary.rs
ls lib*
# library.rlib
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();
}
# Где library.rlib путь к скомпилированной библиотеке. Предположим, что
# она находится в той же директории:
rustc executable.rs --extern rary=library.rlib && ./executable
# вызвана `public_function()` библиотеки rary
# вызвана `indirect_access()` библиотеки rary, и в ней
# вызвана `private_function()` библиотеки rary
// Ссылка на `library`. Импортируем элементы, как модуль `rary`
extern crate rary;
fn main() {
rary::public_function();
// Ошибка! Функция `private_function` приватная
//rary::private_function();
rary::indirect_access();
}
← Назад