[Prévia cron] [Próxima Cron] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
[Índice de autor]
Re: sugestão de uso do gcc
- Subject: Re: sugestão de uso do gcc
- From: Imre Simon <is@ime.usp.br>
- Date: Thu, 31 Aug 2000 17:52:09 -0300
Enquanto os monitores e/ou a turma do BCC não indicarem informações
mais completas, lá vai uma solução de emergência: todos os arquivos
mencionados encontram-se no diretório
http://www.ime.usp.br/~is/ddt/mac122-00/compilando-com-gcc
Coloque no seu diretório de trabalho o arquivo Makefile
Coloque também o seu programa fonte, digamos crivo.c
Para compilar crivo.c execute o comando:
make crivo
Ao final do processo Você terá o arquivo executável crivo no seu
diretório
Execute o comando
crivo
e o seu programa será executado.
Existem casos um pouco mais complicados. Um exemplo é o programa
usa-dist que exige também o processamento do programa distance.c
Neste caso, Você deve ensinar o arquivo Makefile as dependências que
Você tem. No caso, Você tem que acrescentar ao Makefile (com um editor
qualquer, recomendamos o emacs) a linha:
usa-dist: distance.o usa-dist.o
Esta linha ensina ao make que usa-dist depende de distance.o e de
usa-dist.o, as demais instruções são suficientes para ensinar a make
fabricar os arquivos necessários.
Ou seja, após acrescentar aquela linha (que já está no Makefile neste
caso), execute o comando:
make usa-dist
Isto compilará o executável usa-dist.
A seguir dou as saídas de uma sessão no meu computador.
Partimos apenas com os arquivos Makefile e os fontes .c e .h:
<1864:105>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] > ll
total 5
-rw------- 1 is mac 673 Aug 31 17:23 Makefile
-rw------- 1 is mac 78 Aug 9 1999 Point.h
-rw------- 1 is mac 411 Aug 31 17:29 crivo.c
-rw------- 1 is mac 170 Aug 9 1999 distance.c
-rw------- 1 is mac 164 Aug 31 17:29 usa-dist.c
<1865:106>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] >
Agora compilamos crivo e usa-dist:
<1865:106>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] > make crivo
make crivo.o
make[1]: Entering directory `/home/mac/is/www/ddt/mac122-00/compilando-com-gcc'
gcc -I. -c crivo.c
make[1]: Leaving directory `/home/mac/is/www/ddt/mac122-00/compilando-com-gcc'
gcc -I. -o crivo crivo.o -lm
<1866:107>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] > make usa-dist
gcc -I. -c usa-dist.c
gcc -I. -c distance.c
gcc usa-dist.o distance.o -lm -o usa-dist
<1867:108>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] >
Agora já temos os dois executáveis também, além dos arquivos .o:
<1867:108>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] > ll
total 27
-rw------- 1 is mac 673 Aug 31 17:23 Makefile
-rw------- 1 is mac 78 Aug 9 1999 Point.h
-rwx------ 1 is mac 7636 Aug 31 17:44 crivo*
-rw------- 1 is mac 411 Aug 31 17:29 crivo.c
-rw------- 1 is mac 1492 Aug 31 17:44 crivo.o
-rw------- 1 is mac 170 Aug 9 1999 distance.c
-rw------- 1 is mac 760 Aug 31 17:44 distance.o
-rwx------ 1 is mac 7404 Aug 31 17:44 usa-dist*
-rw------- 1 is mac 164 Aug 31 17:29 usa-dist.c
-rw------- 1 is mac 1028 Aug 31 17:44 usa-dist.o
<1868:109>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] >
Estamos prontos para executar os programas:
<1872:113>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] > crivo 20
2 3 5 7 11 13 17 19
<1873:114>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] > crivo 30
2 3 5 7 11 13 17 19 23 29
<1874:115>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] > usa-dist
5.000000
<1875:116>[fradim:/home/mac/is/www/ddt/mac122-00/compilando-com-gcc] >
Boa sorte,
Imre Simon
: Date: Thu, 31 Aug 2000 13:14:33 -0300
: From: Noboru Jo Sakabe <noboru@iq.usp.br>
: To: is-122-00@ime.usp.br
: Subject: =?iso-8859-1?Q?sugest=E3o?= de uso do gcc
:
: Gostaria de sugerir que os professores disponibilizassem um tutorial
: para o uso do gcc (na home-page da disciplina ou em aula) para os
: neófitos no Linux como eu.