Tarefa 4 - ATENÇÃO

Tarefa 4 - ATENÇÃO

por César Machado -
Número de respostas: 2

Percebi que várias pessoas cometeram o mesmo erro na criação do grafo de "dependências" da tarefa 3. imagino que o problema já tenha sido percebido pelas pessoas que o cometeram (ou a tarefa 4 não está fazendo sentido)

A ideia do grafo de dependências é manter uma estrutura que indica quais regras dependem de quais e que vai ser usada na tarefa 4 para verificar se não existem dependencias circulares e simular a execução do make.

OU SEJA, se o arquivo MakeFile é

aaa: bbb ccc
<TAB>comandos

ddd:
<TAB>outros comandos

ccc: bbb ddd
<TAB>mais comandos

o grafo de dependências tem quatro vértices (e não sete!): aaa bbb ccc ddd, e as arestas aaa->bbb aaa->ccc ccc->bbb ccc->ddd, onde a aresta u->v indica que é necessário tratar v antes de u.

Verificar se um vértice já existe antes de adicioná-lo ao grafo é uma parte importante da tarefa...

Em resposta à César Machado

Re: Tarefa 4 - ATENÇÃO

por Paulo Cheadi Haddad Filho -

Então

meuprog.o: meuprog.c minhasdefs.h fila.h etc.h
    gcc -c meuprog.c
fila.o: fila.c minhasdefs.h fila.h
    gcc -c fila.c

tem como vértices {meuprog, minhasdefs, fila, etc}, e não {meuprog.o, meuprog.c, minhasdefs.h...}?

Eu fiz do 2º jeito por não ter visto nada especificando isso, já q o objetivo era só remontar o MakeFile, mas não é nada q eu não possa arrumar pro EP4. Espero que não tenha problema pro EP3...

Em resposta à Paulo Cheadi Haddad Filho

Re: Tarefa 4 - ATENÇÃO

por César Machado -

não, o seu exemplo está certo, era assim mesmo (vértices: meuprog.o, meuprog.c, minhasdefs.h, fila.h, etc.h, fila.o, fila.c, minhasdefs.h)

fila.h != fila.c != fila.o, o que eu quis dizer é que se o mesmo nome (incluindo extensões) aparece duas vezes, ele é o mesmo vértice

No caso do seu exemplo, existem dois 'fila.h', que correspondem ao mesmo vértice do grafo e  o grafo deve ter 8 vertices.