Notas de Aula - MAC 211 - Laboratório de
Programação
Aula anterior
Aula 13 - 13/4/2010
Ainda sobre Filtros:
-
alunos implementam rot13
- ferramenta muito usada nos primórdios da Usenet
- baseada no princípio da Cifra de César
- por que 13?
-
o que faz esse comando? cat
documento.txt | spell > erros.txt;
wc -w erros.txt
- Criação de pipes no sistema de arquivos: mknod
meuFIFO
p
-
em uma janela: cat meuFIFO
-
na outra janela: cat >tmp/meuFIFO
-
Diferenças entre "Header files" e bibliotecas de funções.
O Utilitário MAKE
- É uma ferramenta disponível em sistemas UNIX para auxiliar
na construção (compilação/ligação/limpeza) de programas complexos,
compostos por vários arquivos e com várias dependências entre eles.
- Cria-se um arquivo chamado makefile
contendo as receitas de como se deve construir o programa e executa-se
o comando make.
- Boa documentação: info make do GNU
Make.
- Em alguns ambientes que já incluem outras implementaçães do
Make (e.g.,
Solaris), o GNU Make é chamado de gmake.
- Pequena introdução ao GNU Make baseada no manual
oficial do GNU Make:
Geração automática de dependências
- O makedepend
permite a criação de dependências automaticamente. Hoje em dia está
disponível dentro dos compiladores modernos.
- gcc -M
- Instead of outputting the result of preprocessing, output
a rule suitable for make describing the dependencies of the main source
file. The preprocessor outputs one make rule containing the object file
name for that source file, a colon, and the names of all the included
files, including those coming from -include or -imacros command line
options.
Unless specified explicitly (with -MT or -MQ), the object file name
consists of the name of the source file with any suffix replaced with
object file suffix and with any leading directory parts removed. If
there are many included files then the rule is split into several lines
using `\'-newline. The rule has no commands.
- ver exemplo com EP de 2001.
- pode-se criar um target do makefile para criar um arquivo com dependências e depois usar a diretiva include para inclui-lo no makefile principal
- A explicação detalhada de como usar isso no gcc está em
no manual
das opções do pré-compilador
Próxima aula
Página de MAC211
Página do Fabio
Página do DCC