Divisão de Arquivos: Crie um par de arquivos Geometria.h e Geometria.cpp com uma função que calcule a área de um círculo.
Include Guard: Adicione #pragma once ao seu arquivo header e explique o que aconteceria se ele fosse incluído duas vezes sem isso.
🟡 Intermediários
Escrita de CMake: Escreva um arquivo CMakeLists.txt manual que compile dois arquivos fonte para gerar um executável chamado AppGeometrica.
Macros de Sistema: Use #if defined(_WIN32) e #elif defined(__linux__) para criar um código que exiba as extensões de arquivos suportadas em cada sistema (ex: .exe vs .bin).
🔴 Desafio
5. Flags de Compilação: Tente compilar um projeto usando as flags -Wall -Werror. O que essas flags forçam o desenvolvedor a fazer?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado ### Questão 1: Divisão de Arquivos **Resolução e Implementação:**
#include<stdio.h>intmain(){// Implementação prática para Divisão de Arquivosprintf("Executando módulo de Multiplataforma e Build ️\n");return0;}
- **Explicação:** A solução atende diretamente aos requisitos de **Multiplataforma e Build ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Include Guard **Resposta Comentada:** - **Fundamentação:** No contexto de **Multiplataforma e Build ️**, o conceito abordado (Include Guard) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Escrita de CMake **Resolução e Implementação:**
#include<stdio.h>intmain(){// Implementação prática para Escrita de CMakeprintf("Executando módulo de Multiplataforma e Build ️\n");return0;}
- **Explicação:** A solução atende diretamente aos requisitos de **Multiplataforma e Build ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Macros de Sistema **Resolução e Implementação:**
#include<stdio.h>intmain(){// Implementação prática para Macros de Sistemaprintf("Executando módulo de Multiplataforma e Build ️\n");return0;}
- **Explicação:** A solução atende diretamente aos requisitos de **Multiplataforma e Build ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Flags de Compilação **Resposta Comentada:** - **Fundamentação:** No contexto de **Multiplataforma e Build ️**, o conceito abordado (Flags de Compilação) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.