Compilando e executando programas em C no Linux
Dica publicada em C/C++ / Introdução
Compilando e executando programas em C no Linux
É uma dica bem básica, porém bem útil.
Fiz um programinha no gedit assim como teste para ilustrar a dica:
e gravei como hello.c em /home/pirrola.
Depois, fui no terminal e:
Compilando:
$ gcc -Wall /home/pirrola/hello.c -o /home/pirrola/hello Executando:
$ ./hello
Execução:
Hello, world!
Simples assim! Na compilação, é possível utilizar as opções -Wall -ansi -pedantic -O2. E para que servem essas opções de compilação? Essas opções ajudam a tirar vários erros que poderiam passar despercebidos. Sobre as opções de compilação que podem ser usadas:
Fiz um programinha no gedit assim como teste para ilustrar a dica:
#include
int main (){
printf ("Hello, world!\n");
return 0;
}
int main (){
printf ("Hello, world!\n");
return 0;
}
e gravei como hello.c em /home/pirrola.
Depois, fui no terminal e:
Compilando:
$ gcc -Wall /home/pirrola/hello.c -o /home/pirrola/hello Executando:
$ ./hello
Execução:
Hello, world!
Simples assim! Na compilação, é possível utilizar as opções -Wall -ansi -pedantic -O2. E para que servem essas opções de compilação? Essas opções ajudam a tirar vários erros que poderiam passar despercebidos. Sobre as opções de compilação que podem ser usadas:
- -Wall - Vários warning tipo programa sem int do main, variáveis sem serem utilizadas, comandos inúteis, etc.
- -O2 - Junto com -Wall acusa que variáveis podem não estar inicializadas.
- -ansi -pedantic - Assim como outras linguagens, o C tem um padrão e vários dialetos. É bom escrever um programa em C que possa ser compilado em qualquer máquina com qualquer sistema operacional. É o que o pessoal chama de portabilidade: poder "portar" o programa usando qualquer compilador decente. O padrão ANSI serve nesse sentido de portabilidade. Certamente evita comentários com "//", o que por si só não é grave, mas que indica que as outras opções de compilação não estão sendo usadas. Pode servir também para impedir outras construções esquisitas, mas que não sei se isso seria importante. Olhando em conjunto, o -ansi -pedantic não é tão importante, uma vez que o compilador mais usado, o tal do gcc, é um compilador muito bem comportado no sentido de não dar acesso fácil a particularidades de instalação.
tipo, fica:
#include <stdio.h>