Estruturas de Dados
Prof. Juliana Pinheiro Campos
ESTRUTURAS DE DADOS
Compilar em linha de comandoPrograma em arquivo nico
gcc -o
Para executar: No Windows: No Linux: ./
ESTRUTURAS DE DADOS
Compilar em linha de comandoPrograma em vrios arquivos
gcc -o
Desvantagem: as vezes voc s precisa recompilar um arquivo e fazendo assim, est compilando tudo.
ESTRUTURAS DE DADOS
Compilar em linha de comandoPrograma em vrios arquivos (outra opo)
Compila cada arquivo .c separadamente, gerando o .o correspondente:
gcc -c Gera o executvel a partir de todos os .o:
gcc -o
ESTRUTURAS DE DADOS
Makefilemakefile um arquivo especial contendo as
regras necessrias para criar os arquivos executveis.
Sua funo construir todas as dependncias descritas nesse arquivo especial.
O arquivo makefile no pode ter nenhuma extenso.
ESTRUTURAS DE DADOS
MakefileUma regra no makefile consiste de 3 partes: um
alvo (target), uma lista de pr-requisitos e um comando como segue:
target: pre-req-1 pre-req-2 Command
Os comandos devem ser espaados do incio da linha por uma tabulao (tecla TAB)
ESTRUTURAS DE DADOS
MakefileUse o comando make para executar o makefile.All o alvo padro e apresenta as dependncias
necessrias se elas existem.Executar make sem argumentos inicia o alvo all.Voc pode especificar tambm o alvo que ser
executado pelo comando make. Por exemplo, o alvo clean pode remover alguns arquivos criados (.o, .exe).
ESTRUTURAS DE DADOS
Makefile Exemplo Windowsall: compilacompila: main.o aluno.o
gcc main.o aluno.o -o progmain.o: main.c
gcc -c main.caluno.o: Aluno.c
gcc -c Aluno.cclean:
del main.o Aluno.o prog.exe
ESTRUTURAS DE DADOS
MakefileD o comando make duas vezes seguidas para
ver o que acontece.Se o pr-requisito no for mais novo que o alvo
(atualizado mais recente que o alvo), o comando no ser executado.
ESTRUTURAS DE DADOS
Makefile Exemplo Linuxall: compilacompila: main.o aluno.o
gcc main.o aluno.o -o progmain.o: main.c
gcc -c main.caluno.o: Aluno.c
gcc -c Aluno.cclean:
rm main.o Aluno.o prog.exe
ESTRUTURAS DE DADOS
Makefile Exemplo LinuxAll pode ser criado para fazer vrias coisas
all: compila executacompila: main.o aluno.o
gcc main.o aluno.o -o progmain.o: main.c
gcc -c main.caluno.o: Aluno.c
gcc -c Aluno.cexecuta:
progclean:del main.o Aluno.o prog.exe
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11