Cargo

Создание проекта с помощью Cargo

Последнее обновление: 30.04.2021

Cargo представляет систему построения и управления пакетами в Rust. В большинстве случаев применение этой системы для компиляции программ более предпочтительно, чем использование одного компилятора rustc, поскольку Cargo выполняет кучу задач - выполняет построение программы, загружает и управляет внешними зависимостями - внешними библиотеками, от которых зависит работа приложения. Соответственно при написании более сложных программ на Rust, которые используют какие-то внешние библиотеки, использование Cargo позволит существенно упростить создание приложений.

При установке Rust вместе с ним устанавливается и Cargo. Чтобы проверить наличие cargo и его текущую версию, в командной строке/терминале необходимо выполнить команду:

cargo --version

Создание проекта

Создадим простейший проект. Выберем для проектов какой-нибудь каталог на жестком диске. Например, в моем случае это каталог C:\rust. И с помощью команды cd перейдем в консоли/командной строке к этому каталогу:

cd c:\rust

Для создания нового проекта в cargo предназначена команда new. Допустим, наш проект будет называться hello. Так, для создания проекта выполним команду:

cargo new hello

После этого в папке c:\rust будет создан каталог hello, который будет содержать файлы проекта.

Создание проекта Cargo в Rust

Перейдем в этот каталог командой cd:

cd hello

Что представляет проект Cargo, создаваемый по умолчанию:

Проект Cargo в Rust
  • Скрытая папка .git предназначена для работы с Git

  • Папка src предназначена для хранения файлов с исходным кодом. По умолчанию в ней уже есть один файл - main.rs со простейшим кодом:

    fn main() {
        println!("Hello, world!");
    }
    
  • Файл .gitignore также предназначен для работы с Git и устанавливает, какие папки и файлы не будут загружаться на git-репозиторий

  • Файл Cargo.toml представляет конфигурацию проекта Cargo. По умолчанию в моем случае он имеет следующий код:

    [package]
    name = "hello"
    version = "0.1.0"
    authors = ["Eugene <metanit22@mail.ru>"]
    edition = "2018"
    
    # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
    
    [dependencies]
    
    

    По умолчанию он определяет ряд настроек. В каждом конкретном случае они могут отличаться. Так, секция [package] устанавливает данные пакета приложения. В частност, здесь определены следующие опции пакета:

    • name — имя пакета

    • version — версия пакета

    • authors — авторы пакета

    • edition — версия Rust

    Также по умолчанию в файле определена секция [dependencies]. В данном случае он пуст. В этой секции определяются внешние библиотеки, используемые в проекте.

Построение и запуск проекта

После того, как мы закончили работу с файлами проекта, его надо построить - создать исполняемый файл приложения. Для построения в Cargo определена команда build. Так, по умолчанию у нас уже есть файл main.rs, который содержит некоторый код. Выполним построение этого проекта:

cargo build

Эта команда создает исполняемый файл приложения в папке target/debug. То есть на Linux/MacOS это файл target/debug/hello, а на Windows - target\debug\hello.exe. И после построения мы можем запустить этот файл. На Linux/MacOS с помощью команды:

./target/debug/hello

На Windows с помощью команды:

.\target\debug\hello
Построение и запуск проекта Cargo в Rust

Также Cargo предоставляет команду run, которая позволяет сразу построить проект и запустить созданный файл:

cargo run
Команды Cargo в Rust

Когда проект полностью готов, мы можем выполнить его построение с флагом --release:

cargo build --release

В этом случае исполняемый файл приложения создается в папке target/release (target\release на Windows), вместо target/debug.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850