Compilando um arquivo em C

De Rede Linux

Usando o Compilador

Em GNU/linux, usamos o compilador gcc para compilar arquivos em C. O gcc é um compilador que pode ser rodado a partir de um terminal para compilar um arquivo. Para usá-lo, abra um terminal, e de o comando:

$ gcc <nome do arquivo>

Feito isso, se não houver nenhum erro de compilação, um arquivo a.out executável será gerado. O gcc também aceita opções diversas bastante úteis, entre elas: -Wall, -pedantic, -ansi, -O2, e -o . As opções -Wall, -ansi, -pendatic e -O2 servem para te avisar de erros em potencial no seu programa, como tentar usar uma atribuição em vez de comparação (if(x = y) em vez de if(x == y)), e muitos outros erros comuns. Já a opção -o serve para escolher o nome do arquivo de saída, que sucede a opcao. Um exemplo básico:

$ gcc meuarquivo.c -Wall -pedantic -ansi -O2 -o meu

Isso gera o arquivo executável meu que pode ser executado com:

$ ./meu

Importante: Nunca coloque o mesmo nome do seu arquivo no arquivo de saída! Isso irá sobrescrever seu arquivo original com um executável nao editável e você perderá seu programa.

obs.: No meu caso só funcionou usando a biblioteca <stdio.h> em vez da <stdlib.h> como mostrado no exemplo.

Fazendo um Hello World em C

Vamos fazer um simples programa que imprime Ola Mundo na saída. Em um terminal, abra o editor de texto com:

$ gedit olamundo.c &

Ou abra qualquer outro editor de sua preferência. Coloque as seguintes linhas no arquivo:

#include <stdlib.h>

int main()
{
   printf("Ola Mundo!\n");
   return 0;
}

No terminal, compile usando:

$ gcc olamundo.c -o ola

E rode com:

$ ./ola

Se deu tudo certo, você verá um "Ola Mundo!" no terminal. Parabéns, você acaba de fazer seu primeiro programa em C em GNU/linux! Agora vamos tentar algo um pouco mais complicado:

#include <stdio.h>
int mensagem (){
                 printf ("Olá mundo");
                 return (0);
                 }

Agora, vamos compilar

$ gcc algomais.c -o algo

E rode com:

$ ./algo
Usando GNU/Linux