Jonathan Abreu Um site sobre tecnologia

Compilando programas em C

Uma dúvida que assola a muitos estudantes da linguagem C nos seus primeiros contatos com a linguagem, é quando precisam compilar um programa em C sem a utilização de uma IDE, principalmente em sistemas Linux.

Hoje eu vou explicar como fazer isso no Windows e no Linux, utilizando o compilador gcc.

Compilando em sistemas Unix

Feito o programa em linguagem C, através de um editor, o próximo passo é verificar se o código está escrito da maneira correta. A este trabalho se dá o compilador, ele verifica se a sintaxe do programa está correta (ele não verifica erros de lógica). Caso haja erro na sintaxe dos comandos o processo de compilação é abortado.

O compilador também pode enviar mensagens de aviso(Warning), casos em que não há erro de sintaxe, mas pode haver alguma suspeita de erro ou uso de comandos antigos. Isso não impede a compilação.

Por padrão na maioria dos sistemas Unix(se não todos), há um compilador da linguagem C, no meu caso que estou usando Fedora, o compilador é o gcc(GNU Compiler Collection).

Para compilar um programa em C (arquivo com extensão .c), primeiro você deve acessar a pasta onde o arquivo se encontra no terminal através do comando:

$ cd nome da pasta.

Depois de acessada a pasta o próximo passo é a compilação do arquivo.

$gcc programa.c -o programa

O Programa.c é o arquivo que você editou em linguagem C e quer compilar. gcc é o nome do comando para compilar usando o compilador gcc. O parâmetro -o é para indicar construção do executável com o nome programa. Se ocorrer tudo corretamente, o terminal não lhe enviará nenhuma mensagem.

Se você não indicar o parâmetro -o nomedoexecutável, o terminal criará um arquivo a.out por padrão como o executável. E a cada nova compilação vai fazer com que apague o executável do projeto anterior.

Também é possível compilar através do utilitário Make, evitando escritas de comando muito grande. Entrarei em detalhes sobre este comando no próximo post.

Para executar o programa basta executar no terminal:

$./programa

E para terminar, alguns parâmetros que podem ser útil são: -wall - mostra alguns avisos e informações que podem ser útil na detecção de algum problema de compilação.

$gcc --version 

Caso não saiba que compilador seu computador possui.

$gcc -c prog.c

Caso queira criar apenas um arquivo objeto. Arquivo criado antes do processo de “linkagem”.

O desenvolvimento de um programa engloba quatro fases distintas:

  1. Edição do código fonte.
  2. Compilação do programa.
    • correção dos erros de sintaxe, cria o arquivo objeto (em linux com extensão .o em windows .OBJ).
  3. "Linkagem" dos objetos.
    • Adiciona bibliotecas necessárias para a execução do programa.
  4. execução do programa.

Compilando em ambiente Windows

Em ambientes Windows o mais recomendado é a instalação de uma IDE para a compilação. As duas mais comuns são Dev-c++ e codeBlocks. O gcc possui uma versão chamada MinGW, e normalmente vem instalada junto das IDE’s.

Para executar o compilador por linhas de comando será necessário adicioná-lo ao caminho de busca de executáveis. Isso é feito adicionando o caminho da sua instalação ao final da variável de ambiente PATH.

Para compilar o comando é o mesmo do Linux, lembrando que deve estar dentro da pasta do arquivo a ser compilado. Na hora de executar o programa basta digitar o nome do executável(sem o ./ e a extensão).