Programar em C/Utilizando um compilador
Compiladores: visão geral
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
Com o gcc, compilador da GNU utilizado principalmente no sistema operacional linux ou de tipo unix (mas também com versão para a arquitetura/sistema operacional MSWindows®), 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
Dev-C++
Dev-C++ é uma IDE (Integrated Development Environment) desenvolvido para ambiente MS Windows® (funcionando em ambientes Unix através do Wine). Embora ele possua uma interface gráfica, sua instalação inclui o compilador gcc do projeto mingw, completamente funcional via linha de comando.
Via interface gráfica a compilação é feita através do atalho de teclado <Ctrl>+F9. Via linha de comando, o compilador gcc utilizado por ele possui a maioria das mesmas opções básicas das versões *nix explicadas acima.
Visual C++
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
de:C-Programmierung: Kompilierung en:C Programming/Compiling es:Programación en C/Compilar un programa et:Programmeerimiskeel C/Kompileerimine fr:Programmation C-C++/Modularité et compilation it:C/Compilatore e precompilatore/Compilatore