[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: Elaborando melhor a pergunta sobre as opções
- Subject: Re: Elaborando melhor a pergunta sobre as opções
- From: kowal@linux.ime.usp.br
- Date: Mon, 28 Apr 2003 12:34:37 -0300
O professor jah tinha respondido isso pra mim hah muito tempo... Alias, com
outra resposta...
----- Forwarded message from Jose Coelho de Pina <coelho@ime.usp.br> -----
Date: Mon, 14 Apr 2003 09:25:12 -0300
From: Jose Coelho de Pina <coelho@ime.usp.br>
Reply-To: Jose Coelho de Pina <coelho@ime.usp.br>
Subject: RE: reconstrução dos objetivos-ep3
To: André Thomas Kowaltowski <kowal@linux.ime.usp.br>
Desculpem a demora.
André Thomas Kowaltowski writes:
> Só pra confirmar... A reconstrução dos objetivos ocorre
> sempre que o Make é executado
Perfeito.
>(exceto qdo são usadas as
> opções -g e -s concomitantemente que imprime erro) sem
> exceções né? Não importa se é o MakeFile ou o MakeFile.gb
> que estão sendo lidos, ou se a impressão é pra tela ou se
> está criando o MakeFile.gb, né?
É isso ai.
> No caso de haver goals é óbvio q tem q reconstruir. No
> caso de não haver sempre tem q reconstruir o primeiro
> target sem exceções?
Sim. (Isto é uma cópia do comportamento do make.)
té +,
coelho
----- End forwarded message -----
----- Re: Elaborando melhor... -----
Andre Luiz Breves de Oliveira wrote:
> Fui um pouco vago na pergunta sobre opções do Make, vou elaborar um pouco:
>
> - Você diz no enunciado que as opções podem ser definidas em qualquer
ordem. Isso deixa a parte de
> tratamento de opções um pouco complicada, eu teria que primeiro ler as
opções, usar uma estrutura auxiliar
> para guardar os goal's... Pode considerar que primeiro vem as opções -g -s
-r, e depois vem os goal's?
Na verdade não faz diferença certo?
Um código como:
while (tem argumentos) {
if (argv[0][0] == '-'){
/* Processa os parâmetros */
} else {
/* Processa o goal */
}
}
Já deve ser o suficiente.
Sim, vc deve precisar de uma estrutura auxiliar para guardar os goals.
Um vetor de strings dá conta do serviço! :-)
Não se esqueça de usar strcmp(), strcpy() e outros para manipular strings! Tem
gente que se
esquece disso, por incrível que pareça!!!!!! :-)
Se você quiser elaborar um pouco mais, pode tentar a biblioteca getopt (man 3
getopt)
que serve para fazer esse parsing para você.
> - Se forem usadas as opções -r ou -s, mas não forem definidos nenhum goal,
mesmo assim eu terei que
> processar o primeiro target do MakeFile (ou terei que considerar algum goal)?
Bom, ai seria melhor o Coelho explicar, porque pelo que eu entendi se você usar
uma
dessas opções ele apenas vai realizar o que está escrito na descrição da opção.
Creio que nesses
dois casos você pode ignorar a existência de goals na linha de comando e você
vai poder
interromper a execução após realizar a tarefa dita na descrição do parâmetro.
De qualquer modo, aguardo a resposta do Coelho sobre isso!
Té+++
[]'s
-----
Nelson Guedes Paulo Junior
E-mail: UIN: 2489382 (Tender [:alpha:]*)
-----------------------------------------------------------------------
Eu cavo, tu cavas, ele cava, nós cavamos, vós cavais,
eles cavam... Não é bonito, mas é profundo.
-----------------------------------------------------------------------
----- End Reply -----