Pular para o conteúdo principal

Compilando manualmente código-fonte em C em ambiente Unix (Linux, MacOS)

Se você está num ambiente Unix (ex. Linux, MacOS) e precisa compilar um código-fonte manualmente, é possível utilizar o compilador GCC (GNU Compiler Collection), o qual já vem instalado por padrão no sistema, para realizar essa tarefa. É muito simples e sem complicações.

Se o seu programa está contido em apenas um arquivo de código-fonte, execute o seguinte comando dentro da pasta onde está o arquivo para realizar a compilação:

gcc nomedoprograma.c -o nomedoprogramacompilado

Neste caso, o arquivo de código-fonte está nomeado como nomedoprograma.c e o nome do arquivo compilado (arquivo de saída, executável) será nomeado como nomedoprogramacompilado. Não é necessário incluir a extensão do arquivo pois no ambiente Unix um arquivo executável é reconhecido automaticamente. Por questões didáticas nós modificamos o nome do arquivo de saída, porém uma boa prática é manter o nome do arquivo de saída conforme o arquivo de entrada (sem a extensão, é claro).

Já se o seu executável necessita de vários arquivos de código-fonte, é necessário executar um procedimento um pouco diferente. No nosso exemplo serão três arquivos de código-fonte (nomedoprograma1.c, nomedoprograma2.c, nomedoprograma3.c) que vão dar origem ao executável nomeado programa. O primeiro passo é compilar todos os arquivos de código-fonte usando os comandos abaixo:

gcc -c nomedoprograma1.c
gcc -c nomedoprograma2.c
gcc -c nomedoprograma3.c


... o que vai produzir um arquivo com extensão .o (que significa objeto ou programa-objeto) para cada arquivo de código-fonte. Os arquivos com essa extensão serão agrupados e vão originar (montar) o nosso executável. Para efetuar esse procedimento de montagem, execute o seguinte comando:

gcc -o programa nomedoprograma1.o nomedoprograma2.o nomedoprograma3.o

Um detalhe que se deve ter atenção é que se for alterado apenas um arquivo de código-fonte que compõe nosso executável, não é necessário compilar todos os outros, apenas compilar o arquivo modificado e refazer o processo de montagem. Veja o exemplo abaixo, no qual o arquivo nomedoprograma1.c foi hipotéticamente modificado:

gcc -c nomedoprograma1.c
gcc -o programa nomedoprograma1.o nomedoprograma2.o nomedoprograma3.o


Depois de todo o processo de montagem dos nossos executáveis, para executá-los basta digitar o seguinte comando, dentro da pasta onde encontra-se o executável, substituindo <nomedoexecutável> pelo nome do programa gerado (nomedoprogramacompilado ou programa, conforme usado nesta postagem):

./<nomedoexecutavel>



Simples, não é? Boa sorte com seus programas!

Fonte: http://fig.if.usp.br/~esdobay/c/gcc.html


Editado: Também é possível utilizar o compilador g++, basta substituir nos comandos onde está gcc por g++. A sintaxe é a mesma.




Comentários

Postagens mais visitadas deste blog

Comando system("cls"); Limpando a tela

Para utilizar o comando system("cls"); é necessário a declaração da biblioteca stdlib.h no início do programa. Sua função é limpar a tela de saída de programa que é executado no MS-DOS, ou seja, funciona como um "apagador" para tudo que já foi escrito. O programa a seguir imprime na tela o que o programador colocou no printf e depois de pressionar uma tecla tudo é limpo, ou seja, apaga tudo o que já foi escrito e imprime as outras funções que foram programadas. Link para o código-fonte do exemplo (Pastebin ) Agora visualize o que deve acontecer com o seu programa:

Biblioteca Conio.c

A biblioteca conio.c é a modificação da biblioteca conio.h para poder disponibilizar algumas funcionalidades no programa Dev C/C++ . Com ela é possível usar os comandos textcolor(), backgroundcolor(), gotoxy(), clrscr(), etc, e deixar a saída dos dados com um layout mais agradável para o usuário. O link abaixo redireciona para o site 4shared.com, o qual permite fazer o download da biblioteca. Download Conio.c - 4shared Junto com a biblioteca vem um pequeno tutorial de instalação no  Dev .   ATENÇÃO: Para o funcionamento das funções é necessário a adição da biblioteca no início do programa.

Mudar cor da saída em C/C++(printf)

Para alterar a cor do comando de saída - ou impressão na tela - utilizando o Dev C/C++ (em ambiente Windows) é necessário a instalação da biblioteca conio.c .  Após seguir as instruções de instalação, é necessário declará-la no topo do código-fonte utilizando o comando " #include <conio.c> " (sem aspas). Após declarar a biblioteca, o comando textcolor() é o que vai alterar a cor do texto de saída. Sua estrutura é a seguinte:   textcolor( cor ); A palavra 'cor' escrita entre parênteses representa a cor que o desenvolvedor deseja para o seu programa. Abaixo segue a tabela das cores disponíveis.