Daniro_San
@Daniro_San
Программист

Как скомпилировать несколько файлов вместе в Rust?

Можно в файле подключить файл как модуль:
//main.rs
mod other_file; // other_file.rs
use other_file::*;

Это в какой то степени похоже на include хедера в C++.
Меня интересует собственно не это, а как скомпилировать несколько файлов вместе
(Примерно как в проекте на плюсах в любой среде или как в решетках, когда из одного файла можно использовать класс объявленный в другом).
В Rustbook ничего не нашел.
Пытался положить другие файлы в /src и потом запускать cargo run, но cargo их игнорирует (даже если там просто текст - ошибки не возникает).
В Rust вообще можно так делать?
  • Вопрос задан
  • 796 просмотров
Решения вопроса 1
@DarkEld3r
Или я не понял вопрос или тут что-то странное.

Раст "компилирует вместе" целиком crate (и в Rustbook это говорится). Если бы сущности из одного файла нельзя было бы использовать в другом, то как таким языком вообще пользоваться можно было бы?

Ну и "у меня всё работает". Структура проекта такая:
├── Cargo.lock
├── Cargo.toml
├── src
│   ├── first
│   │   └── mod.rs
│   ├── main.rs
│   └── second.rs


mod.rs:
pub fn foo() {
    println!("first::foo()");
}


second.rs:
pub fn bar() {
    println!("second::bar()");
}


main.rs:
mod first;
mod second;
use second::*;

fn main() {
    first::foo();
    bar();
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы