A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ambiente de desenvolvimento Curso de Nivelamento LCG - 2004.

Apresentações semelhantes


Apresentação em tema: "Ambiente de desenvolvimento Curso de Nivelamento LCG - 2004."— Transcrição da apresentação:

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 -I dir  procure includes em dir - L dir  procure bibliotecas em dir - l bib  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 CC = gcc CFLAGS = -O.c.o: $*.h $(CC) $(CFLAGS) -c $*.c exemplo: part1.o main.o $(CC) $(CFLAGS) -o $@ $^ Makefile: exemplo Tabs, não espaços!


Carregar ppt "Ambiente de desenvolvimento Curso de Nivelamento LCG - 2004."

Apresentações semelhantes


Anúncios Google