Содержит шаблоны, документы и примеры исходного кода, указанные на https://embeddedartistry.com.
Оглавление
В этом репозитории используются подмодули. Вы можете рекурсивно клонировать репозиторий для автоматической настройки подмодулей:
$ git clone https://github.com/embeddedartistry/embedded-resources.git --recursive
Вы также можете инициализировать подмодули после клонирования:
$ git submodule update --init --recursive
Для этого репозитория требуется git-lfs. Если у вас это не установлено, посетите https://git-lfs.github.com.
Если вы клонировали этот репозиторий перед установкой git-lfs, запустите git lfs pull
. В противном случае clone автоматически выполнит git lfs pull
.
Этот репозиторий собирается с помощью meson, для которого требуются Python 3 и Ninja.
В Ubuntu их можно легко установить с помощью следующей команды:
$ sudo apt-get install python3 python3-pip ninja-build
Для OSX вы можете использовать brew
:
$ brew install python3 ninja
Лучший способ получить Meson — через pip:
$ pip3 install meson
build/
docs
examples/
c/
cpp/
libc/
libcpp/
interview/
manufacturing/
Вы можете запустить make
с верхнего уровня, чтобы собрать все примеры. Вывод будет помещен в папку buildresults/
на верхнем уровне.
Вы также можете использовать правильный синтаксис мезонов:
$ meson buildresults
$ cd buildresults
$ ninja
Цели можно создавать индивидуально, используя интерфейс ninja в каталоге buildresults/
.
$ cd buildresults
$ ninja interview/bad_c
Чтобы очистить сборки, запустите make clean
из корня проекта или ninja clean
в каталоге buildresults/
.
Двоичные файлы будут храниться в папке buildresults/
на том же иерархическом уровне, что и в дереве исходного кода. Например, демонстрационное приложение bad_c
для интервью будет находиться в buildresults/interview/
.
Этот репозиторий теперь включает тесты. Тесты можно запустить с помощью make test
, которая создаст проект, запустит тесты и предоставит вам сводный отчет от средства запуска тестов Meson. В этом сценарии результаты тестов сохраняются в XML-файлах, находящихся по адресу buildresults/test
Чтобы увидеть удобочитаемый вывод, создайте проект, как обычно ( make
или make test
), а затем введите следующую команду:
$ ninja -C buildresults/ embedded-resources-tests
ninja: Entering directory `buildresults/'
[0/1] Running external command embedde...es-tests (wrapped by meson to set env)
[==========] Running 1 test(s).
[ RUN ] test_case
[ OK ] test_case
[==========] 1 test(s) run.
[ PASSED ] 1 test(s).