Ferramentas de Desenvolvimento
Curso de aprofundamento na linguagem C
Ferramentas Compiladores
Gcc Visual C++ C++ Builder ...
Debuggers Gdb, ddd Integrados
Ferramentas de Make Gmake Make
Makefile
Gcc Utilizado em sistemas baseados em
UNIX Cross-compilers Windows através do Cygwin Gera código para diversas
plataformas Antigo x Bugado
gcc Distribuido junto com binutils (ld, as,
etc..) Possui vários níveis de otimização Mensagens de erro consistentes Suporte a #pragma
gcc Opções mais inportantes
-c -o -lbiblioteca -Lcaminho -Icaminho -shared -g
gcc Opções importantes
-Ox (0, 1, 2, 3, s) -Wall -Dmacro[=def]
Debuggers Gdb (GNU debugger) DDD (Interface gráfica para o GDB)
gdb Usado juntamente com o gcc Opção –g Frontends
Kdevelop Eclipse
Comandos no prompt
gdb Comandos
run [param] break [file:line] [function]] continue Print Next (step over) Step (step into) Bt
gdb Comandos
Help Quit Display Condition N EXP
make Gerenciamento de compilação de
programas grandes Diminui tempo de recompilação Passos de geração de programa
Compilação Link
Dependências
make Dependência
Grafo de dependência
make Representação textual do grafo de
dependências
project1: data.o main.o io.o
data.o: data.c data.h
main.o: main.c data.h io.h
io.o: io.c io.h
make Regras de compilação
Associadas a cada alvo
project1: data.o main.o io.ogcc data.o main.o io.o –o project1data.o: data.c data.hgcc –Wall –g –c data.cmain.o: main.c data.h io.hgcc –Wall –g –c main.cio.o: io.c io.hgcc –Wall –g –c io.c
make Makefile
Definição de macros e variáveis Regras de dependência Presente no diretório corrente
make Macros Padrão
CC CFLAGS LDFLAGS $@ $< $?
make Macros diminuem e tornam o
Makefile portável Regras utilizando curingas (%) Regras utilizando substituição ($
(VAR:.x:.y)) Chamadas ao shell
($(shell command)
make Opções extra
Regras condicionais• Target::cond1
• command1
• Target::cond2• command2
make Opções Extra
Regras especiais• .SUFFIXES: .c .o
• .c.o:• $(CC) $(CFLAGS) –c $< -o $@
Ferramentas de geração automática de dependências
Makedepend Opção –Y Gera apenas as regras, não os
comandos
makedepend Uso em conjunto com o make Make depend Outras regras importantes
Clean Install Package
make Exercicio
Gerar release Gerar debug
Top Related