extern crate

Чтобы связать контейнер с новой библиотекой, нужна декларация extern crate. Она не только свяжет библиотеку, но и импортирует все элементы в модуль с тем же именем, что и сама библиотека. Правила видимости, применимые к модулям, так же применимы и к библиотекам.

// Ссылка на `library`. Импортируем элементы, как модуль `rary`

extern crate rary;


fn main() {

rary::public_function();


// Ошибка! Функция `private_function` приватная

//rary::private_function();


rary::indirect_access();

}

# Где library.rlib путь к скомпилированной библиотеке. Предположим, что

# она находится в той же директории:

$ rustc executable.rs --extern rary=library.rlib && ./executable

вызвана `public_function()` библиотеки rary

вызвана `indirect_access()` библиотеки rary, и в ней

> вызвана `private_function()` библиотеки rary

Загрузка...