Учебник по Cargo
В разработке на Rust почти все проекты управляются и собираются с помощью Cargo, потому что он обеспечивает удобный рабочий процесс и мощные возможности, делая разработку на Rust более эффективной и надёжной.
Что такое Cargo
Cargo — официальная система сборки и пакетный менеджер Rust. Он в основном выполняет две задачи:
Он в основном выполняет две задачи:
Управление проектами: Cargo используется для создания, сборки и управления проектами на Rust. С помощью Cargo вы можете легко создавать новые проекты, управлять зависимостями проекта и выполнять такие операции, как сборка, запуск и тестирование проекта.
Пакетный менеджер: Cargo также выступает в роли пакетного менеджера Rust. Он позволяет разработчикам подключать и управлять зависимостями (например, сторонними библиотеками) в своих проектах, обеспечивая управление версиями и совместимость этих зависимостей.
Основные возможности и функции Cargo:
-
Управление зависимостями: Cargo использует
Cargo.tomlфайл для управления зависимостями проекта. В этом файле перечислены все внешние библиотеки, необходимые проекту, и их версии. -
Система сборки: Cargo использует компилятор Rust (rustc) для сборки проектов, автоматически обрабатывая компиляцию и компоновку зависимостей.
-
Реестр пакетов: Cargo взаимодействует сcrates.io, реестром пакетов сообщества Rust, позволяя разработчикам искать, добавлять и управлять сторонними библиотеками.
-
Конфигурация сборки: С помощью
Cargo.tomlиCargo.lockфайла, Cargo позволяет разработчикам настраивать параметры сборки, такие как параметры компилятора, функции и целевые платформы. -
Шаблоны проектов: Cargo предоставляет шаблоны для создания новых проектов. Вы можете быстро создать новый проект с помощью
cargo newкоманды. -
Тестирование: Cargo предоставляет простую команду,
cargo testдля запуска модульных тестов проекта. -
Бенчмаркинг: Cargo поддерживает использование
cargo benchкоманды для бенчмаркинга. -
Публикация: С помощью
cargo publishкоманды, разработчики могут публиковать свои библиотеки на crates.io, чтобы другие разработчики могли их использовать. -
Пользовательские сценарии сборки: Cargo позволяет использовать пользовательские сценарии сборки для обработки более сложных требований сборки.
-
Многоцелевые проекты: Cargo поддерживает определение нескольких целей в одном проекте, таких как исполняемые файлы, библиотеки, тесты и бенчмарки.
-
Кроссплатформенные сборки: Cargo поддерживает сборку программ на Rust для нескольких платформ, включая Windows, macOS, Linux и различные встраиваемые системы.
-
Кэш сборки: Для ускорения сборки Cargo использует кэш сборки для хранения скомпилированных зависимостей.
-
Работа офлайн: Cargo поддерживает работу без подключения к интернету, автоматически используя локально кэшированные зависимости.
-
Система плагинов: Cargo позволяет разработчикам писать плагины для расширения его функциональности.
-
Переменные среды: Cargo поддерживает переопределение поведения сборки и запуска по умолчанию через переменные среды.
Возможности Cargo
Помимо создания проектов, Cargo также имеет ряд функций, таких как сборка проектов и запуск проектов. Сборке и запуску соответствуют следующие команды:
cargo new <project-name>: Создать новый проект на Rust.cargo build: Скомпилировать текущий проект.cargo run: Скомпилировать и запустить текущий проект.cargo check: Проверить текущий проект на синтаксические ошибки и ошибки типов.cargo test: Запустить модульные тесты текущего проекта.cargo update: Обновите зависимости, указанные в Cargo.toml, до последних версий.cargo --help: Просмотрите справочную информацию Cargo.cargo publish: Опубликуйте проект Rust в crates.io.cargo clean: Очистите временные файлы и каталоги, созданные в процессе сборки.
Настройка проекта Rust в VSCode
Cargo — отличный инструмент сборки. Если использовать VSCode вместе с ним, VSCode станет очень удобной средой разработки.
В предыдущей главе мы создали проект greeting. Теперь давайте откроем папку greeting с помощью VSCode (Примечание: не example-greeting)。
После открытия greeting создайте внутри него новую папку.vscode(Обратите внимание на точку перед vscode; если эта папка уже существует, создавать её не нужно). Во вновь созданной папке .vscode создайте два файла, tasks.json и launch.json, со следующим содержимым:
файл tasks.json
файл launch.json (применимо к системам Windows)
Файл launch.json (применим для систем Linux)
Файл launch.json (применим для систем Mac OS)
Затем нажмите "Run" на левой боковой панели VSCode.
Если вы используете MSVC, выберите "(Windows) Launch".
Если вы используете MinGW и у вас установлен GDB, выберите "(gdb) Launch". Перед запуском с gdb обязательно заполните "miDebuggerPath" в launch.json.

Затем программа начнёт отладку. Вывод запуска появится в "Debug Console":

Отладка Rust в VSCode
Метод отладки программ аналогичен другим средам. Просто щелкните красную точку слева от номера строки, чтобы установить точку останова. Когда во время выполнения встречается точка останова, программа приостанавливается, позволяя разработчикам отслеживать текущие значения переменных.
