Conteúdo do Curso
Fundamentos de C
Fundamentos de C
Como Executar o Programa?
Para transformar nosso código em comandos específicos para o processador, precisamos de um compilador.
Um compilador é uma ferramenta que pega seu código escrito e o traduz em código de máquina—essencialmente uma série de 0s e 1s —porque essa é a linguagem que o processador de um computador entende. Importante, o compilador não executa seu código; ele apenas o traduz.
Nota
O compilador processa o código sequencialmente, de cima para baixo.
O ato de compilação passa por várias etapas:
- Operação do Pré-processador. Nesta etapa, todas as diretivas
#include
são processadas, permitindo a inclusão de arquivos externos, bibliotecas e outros elementos necessários. Essencialmente, todos os componentes necessários são integrados ao seu programa; - Análise de Erros de Sintaxe. Se o compilador encontrar algum erro de sintaxe no seu código, ele interrompe a compilação, destacando o erro para correção;
- Compilação para Arquivo Executável. Todos os componentes vinculados ao seu programa são consolidados e traduzidos em um arquivo executável. Por exemplo, na plataforma Windows, esses arquivos têm a extensão ".exe" (executável). Uma vez compilado, você pode executar este arquivo de forma semelhante a como executaria um jogo de computador ou aplicativo.
Nota
Um arquivo executável é simplesmente uma série de instruções (código de máquina) destinadas ao processador. Para contexto, a frase
"Hello, c<>definity"
em código de máquina pode se assemelhar a uma sequência como:01001000011001010110110001101100011011110010110000100000011000110011110000111 110011001000110010101100110011010010110111001101001011101000111100100100001
Não se preocupe! Esta linguagem numérica é destinada às máquinas, não a nós!
Um erro foi propositalmente incluído para mostrar como o compilador funciona.
Main
#include <stdio.h> int main() { printf("some text") // error line return 0; }
Erros
Por que o compilador aponta um erro no 2º caractere da 7ª linha quando não há nada de errado lá? Esse é exatamente o problema. O compilador espera ver um ponto e vírgula ;
nesse local. Mas por que ele espera o ponto e vírgula ali e não logo após printf("some text")
?
Main
#include <stdio.h> int main() { ;; ;;;;;; printf("C language moment\n");;; ;return 0; ;;; }
O compilador é tolerante com excesso de ponto e vírgula, então ele permitirá múltiplas instâncias de ;
.
Obrigado pelo seu feedback!