Você está na página 1de 5

Conceitos Bsicos Sobre Desenvolvimento de Software

Compilador _ De maneira geral, um compilador um programa tradutor que transforma um programa escrito em uma linguagem de programao de alto nvel (Pascal, C) linguagem fonte (programa fonte) em um programa equivalente em uma linguagem de baixo nvel linguagem objeto (programa objeto)

Um Compilador C um programa que tem a finalidade de traduzir ou converter um programa Pf (fonte) escrito numa linguagem Lf - linguagem fonte - para um programa Po (objeto) escrito numa outra linguagem Lo - linguagem objeto; Po o resultado da traduo. Um Compilador C um programa que tem a finalidade de traduzir ou converter um programa Pf (fonte) escrito numa linguagem Lf - linguagem fonte - para um programa Po (objeto) escrito numa outra linguagem Lo - linguagem objeto; Po o resultado da traduo.

Em geral, Lf uma linguagem de alto nvel como C, PASCAL, etc. Lo no necessariamente uma linguagem de mquina. Por exemplo, Lo pode ser uma Linguagem de Montagem ("Assembly") La. Nesse caso, necessrio ter-se mais uma fase de traduo de La para a linguagem de mquina Lm do computador a ser utilizado para processar o programa objeto.

Compilador

_ A compilao de um programa tambm pode gerar cdigo-objeto que no ser executado diretamente, mas que ser usado em conjunto com outros. Estes programas so chamados de bibliotecas _ As bibliotecas oferecem funcionalidades bsicas e avanadas. A juno do cdigo objeto dos programas com o cdigo-objeto das bibliotecas realizada pelo linkeditor Em muitos casos, os compiladores esto acoplados a ambientes de desenvolvimento que incluem outras ferramentas _ Exemplo de tais ferramentas so aquelas para deteco de erros (debbugers) medir o tempo gasto pelo programa (profilers) para construo de diagramas A edio de programas fontes

Interpretador _ O interpretador um programa que l um programa escrito em uma linguagem de programao e executa o programa, sem gerar cdigo-objeto explicitamente _ Esse tipo de traduo usado em linguagens de comandos (scripts) ou em linguagens que permitem construes cujo tamanho no pode ser determinado antecipadamente Programao _ A programao exige o uso de uma Linguagem de Programao _ A sintaxe de uma linguagem de programao em geral mais restrita do que a de uma linguagem natural como o portugus _ Apesar disso, toda linguagem de programao suficientemente poderosa para expressar a soluo de qualquer problema que seja computvel _ E suficientemente flexvel para permite que um mesmo problema seja resolvido por vrios programas diferentes _ Quando h mais de um programa que resolva um certo problema, comum que uns sejam mais eficientes do que outros no que diz respeito memria e ao tempo de CPU necessrios para que o programa seja executado _ Espao (memria) e Tempo (de execuo) so as moedas da computao. _ E quase sempre ganha-se um ao custo do outro! Programao _ Outra questo crucial aos programas a correo dos cdigos _ O ideal que um programa que resolve um certo problema funcione corretamente para qualquer dado de entrada vlido _ Exemplo: esperamos que um programa que calcule a raiz quadrada, o faa corretamente para qualquer nmero real maior ou igual a zero _ A correo e a eficincia podem ser consideradas metas bsicas de qualquer programa. No entanto, elas no so fcies de alcanar _ Normalmente impossvel testar um programa com todas as entradas possveis. Alm disso, provar matematicamente que um programa correto no tarefa fcil. _ Igualmente difcil obter o programa comprovadamente mais eficiente possvel

_ Outro complicador o fato de que no se conhece programa eficiente para resolver vrios problemas importantes. Alm disso, h uma grande classe de problemas que reconhecidamente no podem ser resolvidos usando os computadores digitais disponveis Sistema _ Quando um conjunto de programas trabalham juntos para resolver um problema, chamamos este conjunto de sistema _ Outras caractersticas importatntes para um sistema so: Robustez Segurana Inviolabilidade Facilidade de uso e manuteno Facilidade de modificao _ No simples alcanar um bom nvel de qualidade quando se constri um sistema computacional

Conceitos Bsicos de Programao O processo de programao inicia-se com a edio de um programa-fonte e termina com a gerao de um programa-executvel. Um programa-fonte deve ser criado em um editor de textos (sem formatao). Aps a criao, este programa submetido a um compilador que analisa o cdigo-fonte e o converte este para um cdigo-objeto (ouprograma-objeto ). O cdigo-objeto a verso em linguagem de mquina do programa-fonte. Se o programa contiver chamadas a funes das bibliotecas (funo cosseno, por exemplo) o ligador junta o programa-objeto com a(s) respectiva(s) biblioteca(s) e gera um cdigo-executvel (ou programa-executvel).

Principais Termos:

Cdigo-Fonte: criado em um editor de textos, contendo os comandos da linguagem de programao (C, Pascal...). Serve como entrada para o compilador. Cdigo-Objeto: criado pela converso do cdigo-fonte em linguagem de mquina. gerado pelo compilador. S criado quando no h erros no cdigofonte. (Extenses do cdigo-objeto mais comuns: .OBJ, .o) Ligador ou Linkeditor: "junta" o cdigo-objeto com as bibliotecas necessrias para gerar o programa-executvel. (Extenses das bibliotecas: .DLL ou .LIB) Programa Executvel: cdigo que pode ser executado pelo sistema operacional. (Extenso do programa-executvel: .EXE) Tempo de Compilao: durante o processo de converso entre cdigo-fonte e cdigo-objeto. Tempo de Execuo: aps a ativao do programa executvel.

Em programao de computadores, cdigo objeto ou arquivo objeto o nome dado ao cdigo resultante da compilao do cdigo fonte. Normalmente, o cdigo fonte formado por uma sequncia de instrues no formato especificado por alguma linguagem de programao. Para cada arquivo de cdigo fonte gerado um arquivo com cdigo objeto, que posteriormente "ligado" aos outros, atravs de um linker, resultando num arquivo executvel ou biblioteca.

Um arquivo objeto no s contm cdigo objeto, mas tambm informaes sobre alocao de memria, os smbolos do programa (como nomes de variveis e de funes) e tambm informaes sobre debug. H vrios formatos de arquivo objeto; originalmente, cada tipo de computador tinha seu prprio formato, mas com o advento de sistemas operacionais portveis (como por exemplo o Unix) alguns formatos, como o COFF e o ELF, foram padronizados e utilizados em diferentes sistemas. comum o mesmo formato de arquivo objeto servir tanto como entrada quanto para sada do linker, sendo portanto utilizado no arquivo executvel ou biblioteca gerado. O formato dos arquivos objetos parte importante no projeto de um sistema operacional: ele afeta o tempo que os programas levam para serem ligados e assim afeta o tempo de desenvolvimento dos sistemas. Alm disso, se o formato tambm utilizado para os arquivos executveis, ele influi no tempo que o programa leva para comear a executar, afetando assim a responsividade do programa para o usurio final. A maioria dos formatos estruturada na forma de blocos todos do mesmo tipo, podendo ser mapeados conforme necessrio pelo sistema de memria virtual do sistema operacional, sem necessidade de mais processamento antes de serem utilizados. O tipo mais simples de cdigo objeto o COM do DOS, que apenas um arquivo com bytes sempre carregados na mesma posio da memria. Outros formatos contm vrias estruturas e sub-estruturas cuja especificao abrange vrias pginas.

Você também pode gostar