Compilando e executando programas em C no Linux

Publicado por Pirrola em 08/04/2008

[ Hits: 67.178 ]

 


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:

#include
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.

Espero ter ajudado os iniciantes!

Outras dicas deste autor

Repositórios oficiais Debian

Debian: stable, testing ou unstable?

Leitura recomendada

Corrigindo o erro: C compiler cannot create executables

Obtendo a data e a hora de compilação em C

Qt - Adicionando uma foto em Label (QLabel)

Declaração de variáveis em C

Usando comandos do sistema em C

  

Comentários
[1] Comentário enviado por pirrola em 20/04/2008 - 23:51h

soh uma coisa, no meu programinha faltou por depois do include o <stdio.h>
tipo, fica:
#include <stdio.h>

[2] Comentário enviado por jmath em 01/12/2009 - 10:56h

Cara, você conhece alguma apostial de C/C++ que tenha exemplos passo-a-passo? Preferencialmente usando alguma interface gráfica tipo o Anjuta?

julianomota@gmail.com

Obrigado!

[3] Comentário enviado por lbneto em 15/03/2011 - 16:58h

Simples mais eficaz.

Valeu Pirrola, sua dica ajudou a compreender algumas coisas que estavam dando errado e ainda me ajudou a achar o gedit pois eu tentei o vi e o jed mas não me dei muito bem, talvez com mais tempo de linux eu va aprender a utilizar essas ferramentas, mas por hora o gedit vai quebrar muito bem o meu galho.

Com uma dica simples vc respondeu varias duvidas minhas.


Abraço

[4] Comentário enviado por Zaraki em 02/11/2011 - 21:00h

Boa dica!

[5] Comentário enviado por deividrvale em 23/01/2012 - 09:27h

Obrigado pela dica. Ajudou muito.

[6] Comentário enviado por vinilele em 15/05/2012 - 21:21h

Olá galera, hj é o meu primeiro dia mexendo no Ubuntu, e como estou no primeiro semestre da facul de Analise e Desenvolvimento de sistemas, preciso programar em C, e isso foi d extrema utilidade pra mim, o primeiro passo pra q eu deixe d vez d usar o Windows, hehehe. estou SUPER engatinhando, achei na raça os comando d andar em diretorios, criar e talz. e estou programando com o "Anjuta" e este codigo seu aí (ou comando, não sei ao certo como se diz) foi ótimo. obrigadão *---*

[7] Comentário enviado por mbrainiac em 04/08/2012 - 00:15h

Valeu Pirrola!

Entrar via comando cd na pasta onde salvou o arquivo, salvei em documents o arquivo hello.c
(vendo se compila)
brainiac@hotpc:~/documents$ gcc -Wall hello.c -o hello

(rodando programa)
brainiac@hotpc:~/documents$ ./hello
Hello, world!

[8] Comentário enviado por Odliesor em 13/12/2013 - 10:38h

Salve parceiro. vlw por sua dica. muito útil. é de dicas assim que precisamos, que nos mostre com simplicidade o que queremos saber/aprender.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts