Programar em C/Utilizando um compilador

Origem: Wikilivros, livros abertos por um mundo aberto.
Ir para: navegação, pesquisa

Compiladores: visão geral[editar | editar código-fonte]

Um compilador é, geralmente, um programa de modo texto, que deve ser operado diretamente da linha de comando, sem nenhuma interface gráfica. Essa é uma das razões pelas quais muitas pessoas preferem usar IDEs. No entanto, saber um pouco sobre como usar o compilador pela linha de comando pode vir a ser útil, por exemplo quando você não tiver um IDE à disposição. Não é nenhum bicho-de-sete-cabeças, e a sintaxe da maioria dos compiladores é semelhante.

Para executar o compilador, você precisa abrir um terminal (ou "prompt de comando", como costuma ser chamado no Windows, ou ainda console). É lógico que se você estiver em um sistema sem ambiente gráfico (como o DOS), você não precisa fazer isso.

O Windows só tem um terminal nativo, que é o interpretador de comandos dele (cmd.exe ou command.com). Pacotes como o Cygwin e o MSys (do mesmo projeto que o MinGW) incluem terminais alternativos que funcionam basicamente à maneira do Linux.

No Linux, além dos terminais de modo texto, há vários emuladores de terminal, entre os quais estão o XTerm, o Konsole (KDE) e o Terminal do Gnome. O uso de todos eles é idêntico.

gcc[editar | editar código-fonte]

Com o gcc, compilador da GNU utilizado principalmente no sistema operacional linux ou de tipo unix, você pode executar a compilação e a montagem separadamente ou com um único comando. Se você tem vários arquivos-fonte, é mais recomendável executar as duas etapas separadamente: se você atualizar apenas um arquivo, só precisará recompilar o que atualizou e depois remontar. No entanto, se você está desenvolvendo um projeto grande, é recomendável usar ferramentas de automação do processo de compilação, como o make.

Resumo:

gcc [OPÇÕES] nome_do_arquivo

Aqui são listadas algumas das opções do gcc:

  • -c: Compila o código fonte mas não faz as ligações. A saída é um arquivo objeto.
  • -o: serve para dar um nome ao arquivo de saída.
  • -O2: ativa otimização no nível 2
  • -g: salva os símbolos de depuração (o que permite usar um depurador)
  • -Wall: ativa todos os avisos do compilador
  • -pedantic: ativa os avisos necessários para que o código esteja estritamente de acordo com os padrões

Para compilar o arquivo "programa.c", gerando o código-objeto "programa.o":

gcc [OPÇÕES] -c programa.c

Para gerar o executável "programa binario" bin ou "programa.exe" no Windows/DOS a partir do código-objeto:

gcc [OPÇÕES] -o programa[.bin] programa.o

Para gerar o executável diretamente a partir do arquivo-fonte:

gcc [OPÇÕES] -o programa[.bin] programa.c

Visual C++[editar | editar código-fonte]

Searchtool.svg Este módulo precisa ser revisado por alguém que conheça o assunto (discuta).

Em alguma versão não especificada do Visual C++, para compilar o arquivo "programa.c", gerando o código-objeto "programa.obj":

cl /c programa.c

Para gerar o executável "programa.exe" a partir do código-objeto:

link /out:programa.exe programa.obj

Para gerar o executável a partir do arquivo-fonte:

cl programa.c