1 / 15

Ambiente de desenvolvimento

Ambiente de desenvolvimento. Curso de Nivelamento LCG - 2004. 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

orsin
Download Presentation

Ambiente de desenvolvimento

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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 $@ $^

More Related