Contém modelos, documentos e exemplos de código-fonte referenciados em https://embeddedartistry.com.
Índice
Este repositório usa submódulos. Você pode clonar o repositório recursivamente para configurar submódulos automaticamente:
$ git clone https://github.com/embeddedartistry/embedded-resources.git --recursive
Você também pode inicializar submódulos após a clonagem:
$ git submodule update --init --recursive
Este repositório requer git-lfs. Se você não tiver instalado, visite https://git-lfs.github.com
Se você clonou este repositório antes de instalar o git-lfs, execute git lfs pull
. Caso contrário, o clone executará automaticamente um git lfs pull
.
Este repositório é construído com meson, que requer Python 3 e Ninja.
No Ubuntu eles podem ser facilmente instalados com o seguinte comando:
$ sudo apt-get install python3 python3-pip ninja-build
Para OSX, você pode usar brew
:
$ brew install python3 ninja
A melhor maneira de obter o Meson é através do pip:
$ pip3 install meson
build/
docs
examples/
c/
cpp/
libc/
libcpp/
interview/
manufacturing/
Você pode executar make
no nível superior para construir todos os exemplos. A saída será colocada em uma pasta chamada buildresults/
no nível superior.
Você também pode usar a sintaxe de méson adequada:
$ meson buildresults
$ cd buildresults
$ ninja
Os alvos podem ser construídos individualmente usando a interface ninja no diretório buildresults/
.
$ cd buildresults
$ ninja interview/bad_c
Para limpar as compilações, execute make clean
na raiz do projeto ou ninja clean
no diretório buildresults/
.
Os binários serão armazenados na pasta buildresults/
no mesmo nível hierárquico da árvore de origem. Por exemplo, o aplicativo de demonstração de entrevista bad_c
estará em buildresults/interview/
.
Este repositório agora inclui testes. Os testes podem ser executados com make test
, que construirá o projeto, executará os testes e fornecerá o relatório resumido do executor de testes do Meson. Neste cenário, os resultados dos testes são armazenados em arquivos XML encontrados em buildresults/test
Para ver a saída legível por humanos, crie o projeto como faria normalmente ( make
ou make test
) e emita este comando:
$ 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).