Download
ambiente de desenvolvimento n.
Skip this Video
Loading SlideShow in 5 Seconds..
Ambiente de desenvolvimento PowerPoint Presentation
Download Presentation
Ambiente de desenvolvimento

Ambiente de desenvolvimento

69 Vues Download Presentation
Télécharger la présentation

Ambiente de desenvolvimento

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Ambiente de desenvolvimento Curso de Nivelamento LCG - 2004

  2. Sistemas Operacionais • Duas escolha + óbvias • Microsoft Windows (98 / NT / 2000 / XP / ?) • Grande base instalada •  90% dos computadores pessoais usam Windows • Popular e relativamente fácil de usar • Grande base de software disponível • Vulnerável • 99.9% dos vírus são desenhados para explorar fraquezas do Windows • Estabilidade precária • Proprietário ($) • Microsoft é a única detentora dos fontes e direitos • Microsoft Product Activation • Qualquer bug/defeito/inconveniência precisa ser reconhecido e corrigido pela Microsoft

  3. Linux • Gratuito • Open-source • Fontes são abertos -> bugs / características podem ser consertados e alterados por qualquer pessoa • Ganhando popularidade • Grande base de software • Menos que windows, porém mais que windows se considerarmos softwares de custo zero • Diversidade de distribuições • RedHat / Mandrake / Suse / Debian / etc • vantagem ou uma desvantagem?

  4. Plataformas de desenvolvimento • Gnu (free-source) • Compiladores C, C++, Pascal, Fortran, Java, etc • Disponíveis também em Windows • Cygwin (Ambiente pseudo-windows) • Mingw32 (Minimalistic Gnu for Windows-32) • Windows • Visual – XXX (Microsoft) • XXX – Builder (Borland) • Algumas ferramentas portadas para Linux (Kylix) • Outras • Java (Sun)

  5. Pragmática do desenvolvimento • Algoritmos e estruturas de dados • Alguns têm que ser desenvolvidos • Muitos podem ser reutilizados • Bibliotecas • Componentes • Aplicações prontas • Programação • Linguagem • Imperativa / Funcional / Declarativa ? • OO ou não ? • Compilada ou Interpretada? • Disciplina de programação • OO / Programação Estruturada / Outras

  6. Pragmática do desenvolvimento • Edição / Compilação / Execução • IDEs (Integrated Development Environments) ou Editores de Texto “espertos” • Edição de vários arquivos simultaneamente • Realce de Sintaxe • Integração com compiladores para achar linhas de código erradas • Exemplos: Kate, Emacs, Nedit, Crimson Editor (windows) • Make • Depuração • Inspeção visual • Prints • Asserts • Debuggers

  7. Ferramentas GNU • Variantes de ferramentas historicamente ligadas ao Unix • Compiladores • gcc (C) • g++ (C++) • g77 (Fortran-77) • Bibliotecas • runtime (chamadas do sistema operacional) • glib (I/O, matemática, etc) • STL (C++ Standard Template Library) • muitas outras

  8. Exemplo: Digitando • Programa simples digitado com editor “esperto” • Realce de sintaxe • Balanceamento de terminadores (aspas, chaves, etc)

  9. Exemplo: Rodando o programa • Programa salvo como exemplo0.c • Compilando: $ gcc –O -c exemplo0.c • Gerando executável: $ gcc -o exemplo0 exemplo0.o • Executando: $ exemplo0 abc def g Argumentos: 0: exemplo0 1: abc 2: def 3: g

  10. Compilador gcc • gcc opção1 ... opçãoN arquivo1 ... arquivoN • Algumas opções -o nome executável terá este nome (default = a.out) -c  apenas compile, não gere executável -O  otimize código -g  gere informações para depuradores -Idir  procure includes em dir -Ldir  procure bibliotecas em dir -lbib  junte (link) biblioteca bib

  11. Compilador gcc • Exemplos • gcc -o exemplo1 exemplo1.c • gcc –g –O –I/usr/local/include –o exemplo2 main.c\part1.c part2.c part3.o –L/usr/local/lib –lcurses

  12. Compilando um programa • As opções de compilação necessárias para compilar um programa podem ser bastante complicadas • Um programa pode ser composto de muitas unidades de compilação (fontes) • Se um fonte é alterado, não queremos compilar todos, mas apenas os afetados • Solução: Usar uma ferramenta chamada make • Solução alternativa: usar IDEs e “Projetos” • Não tão legal: projetos são arquivos de formato proprietário e tipicamente binários

  13. Make • Ferramenta para construção de arquivos (tipicamente programas executáveis) a partir de seus componentes • Uso: make?-f makefile? ?target? • makefile • arquivo de instruções • default: makefile ou Makefile • target • programa ou arquivo se quer construir • default: o primeiro target to makefile

  14. Makefile • regras • 2 partes: • dependências target: dependência, ... dependência • comando (opcional): diz como construir target • regras podem ser implícitas (genéricas) ou explícitas (específicas) • variáveis variável = valor • comentários # comentário • diretivas • Incluir outro makefile • compilação condicional

  15. Tabs, não espaços! Makefile: exemplo CC = gcc CFLAGS = -O .c.o: $*.h $(CC) $(CFLAGS) -c $*.c exemplo: part1.o main.o $(CC) $(CFLAGS) -o $@ $^