Знакомство с программным обеспечением
В этой главе мы научимся собирать, запускать и отлаживать несколько очень простых программ. Цель — не углубляться в детали программирования MB2 на Rust (пока), а просто освоить сам процесс.
Сначала короткое пояснение об условных обозначениях, которые используются в остальной части книги. Предполагается, что вы получите копию репозитория со всеми книгами сборника с помощью команды:
git clone https://github.com/r007/EmbeddedRust-Rus.git
«Исходный код» книги находится в каталоге discovery-mb2/src этого репозитория. Зайдите туда в своей копии и осмотритесь. В каталоге каждой главы есть и исходный текст в Markdown, и полный исходный код всех программ этой главы. Когда мы упоминаем путь вида src/main.rs, имеется в виду место относительно главы, с которой вы работаете. Например, в вашей копии есть файл discovery-mb2/src/05-meet-your-software/examples/init.rs. В этой главе мы будем называть его просто examples/init.rs.
Есть два основных вида кода на Rust: исполняемые программы («binary») и библиотечный код («library»). Библиотечный код в этой книге большой роли играть не будет. Исходный код исполняемых программ может находиться в одном из нескольких мест:
-
Программа в
src/main.rsбудет автоматически собрана и запущена командойcargo embedилиcargo run. Специальные флаги не нужны. -
Программу в
examples/foo.rsможно собрать и запустить командойcargo embed --example fooилиcargo run --example foo. -
Программу в
src/bin/bar.rsможно собрать и запустить командойcargo embed --bin barилиcargo run --bin bar.
Это может запутать, но это стандартное соглашение Cargo.
Теперь перейдём к делу и поработаем со всем этим.