Вы находитесь на странице: 1из 5

Introduco ao Dev-C++

1. O que um ambiente de desenvolvimento?


Um ambiente de desenvolvimento de software como o Dev-C++ um conjunto de ferramentas
voltadas ao projeto, implementao e depurao de programas, normalmente integradas umas s
outras por meio de uma interface grfica!
Compilador
Conjunto de arquivos
fonte C/C++
Gerenciador de
projetos
Montador
Conjunto de arquivos
em cdigo de montagem
Conjunto de
arquivos objeto
Ligador
Cdigo executvel
Editor
epurador
Figura 1 Ferramentas de um ambiente de desenvolvimento de software
"or #ferramentas# entenda-se programas $ue desempen%am cada um uma determinada funo no
processo de desenvolvimento! &o caso do ambiente Dev-C++, bem como na maioria dos ambientes
de desenvolvimento acad'micos e comerciais, podemos identificar as seguintes ferramentas(
Gerenciador de projetos: o programa $ue permite ao usurio gerenciar um projeto de
software, ou seja, o conjunto de ar$uivos contendo o c)digo-fonte de um programa! *ste
recurso mais utili+ado em projetos de software grandes, nos $uais o programa e,ecuta
diversas funcionalidades e se torna interessante, por $uest-es de facilidade de manuteno
do c)digo, separ-las em ar$uivos distintos!
Editor( o programa atravs do $ual o usurio pode escrever, apagar e modificar os
ar$uivos contendo o programa em linguagem de alto n.vel /no caso do Dev-C++, c)digo
escrito em C ou C++0, tambm denominados c)digo-fonte! 1 vantagem de se utili+ar o
editor do ambiente de desenvolvimento justamente o fato de ele ser integrado s outras
ferramentas, o $ue torna os processos de implementao e depurao mais din2micos!
Compilador /compiler0( o programa $ue tem por objetivo #tradu+ir# o c)digo-fonte do
usurio escrito em linguagem de alto n.vel /no caso do Dev-C++, c)digo escrito em C ou
C++0 em um tipo de ar$uivo intermedirio denominado c)digo-objeto! 3 c)digo-objeto
ainda no um programa pronto4 no caso de um projeto de software em $ue se ten%a vrios
ar$uivos com c)digo-fonte, cada um destes ar$uivos gera um c)digo-objeto $ue dever
posteriormente ser ligado aos demais c)digos-objeto pelo ligador!
Montador /assembler0( o programa $ue tem por objetivo #tradu+ir# $ual$uer ar$uivo do
usurio escrito em linguagem de montagem /assembl50 em c)digo-objeto! "or ser uma
linguagem de bai,o n.vel, a linguagem de montagem no ser utili+ada nos nossos projetos!
Ligador /linker0( tem por objetivo ligar os diversos ar$uivos-objeto do projeto em um 6nico
ar$uivo, denominado c)digo e,ecutvel! 1 ligao feita para resolver refer'ncias $ue o
c)digo de um ar$uivo-objeto ten%a feito a dados ou c)digo de outro ar$uivo-objeto /por
e,emplo, uma c%amada de funo inter-m)dulos0!
epurador /debugger0( permite $ue o usurio efetue e,ecuo do programa passo-a-passo,
no c)digo-fonte, e verificao de dados en$uanto est e,ecutando!
2. Instalando o Dev-C++
3 Dev-C++ um ambiente freeware, mantido pela 7loods%ed 8oftware /www!bloods%ed!net0!
*,istem vrias vers-es do ambiente, sendo $ue uma boa opo de verso estvel a 9!:!;!<!
"ara bai,ar esta verso, procurar nas ferramentas de busca pelo ar$uivo devcpp!"#$%e&e /apro,! =>
?70% 3 processo de instalao automati+ado!
3. Iniciando um proeto
3s objetivos de um projeto do Dev-C++ so(
manter organi+ados os ar$uivos a serem utili+ados na gerao do programa
permitir a seleo@alterao de configura-es do processo de gerao do programa
Um projeto criado clicando-se em File New Project% 1 seguir e,ibida uma janela com
as op-es de projetos!
"ara um projeto de aplicativo usando linguagem C em console modo te,to(
Console Application
Digitar um nome para o projeto!
8elecionar a opo AC "rojectB
Clicar em AOkB!
8elecionar uma pasta para salvar o ar$uivo de projeto!
1p)s o projeto estar criado, o Dev-C++ automaticamente cria o ar$uivo main%c e o e,ibe na
janela do editor! 1lm disso, disponibili+a as seguintes abas laterais para navegao(
'roject (lista de ar$uivos0( mostra os ar$uivos $ue comp-em o projeto! &o m.nimo um
ar$uivo deve estar presente, no $ual ser implementada pelo menos a funo main%
Classes /navegador de classes e fun-es0( mostra as fun-es $ue comp-em o projeto C!
Cnicialmente a funo main e,ibida, dado $ue o c)digo-fonte criado automaticamente pelo
Dev-C++ contm um es$ueleto para esta funo!
ebug /depurao0( permite visuali+ar variveis adicionadas ao visuali+ador do depurador
/watc)*!
3. !ditando c"di#o-$onte em C
>! Dentro do/s0 ar$uivo/s0 do projeto deve-se digitar o c)digo-fonte do programa! Um e,emplo
mostrado a seguir(
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int base, altura, area;
print(!"n#igite base e altura separados por v$rgula% !);
scan(!&d,&d!, 'base, 'altura);
if ((base > () '' (altura > ())
{
area ) base*altura*+;
print(!, -rea do tri.ngulo / &d!, area);
0
s1stem(23,4567);
return (;
D
%. Compilando o pro#rama
3 programa escrito em linguagem C denominado cdigo fonte! *ste c)digo, porm, no
entendido pelo processador do micro, $ue s) e,ecuta c)digos em linguagem de m$uina
/linguagem binria, valores de < e =0!
"ara converter o c)digo fonte em C em c)digo e,ecutvel em linguagem de m$uina, e,iste um
conjunto de programas $ue fa+em parte de um ambiente de desenvolvimento em C como o Dev-C+
+! 8o eles(
- Compilador: tem por funo converter o c)digo fonte em um c+digo objeto, $ue ser depois
utili+ado pelo linEer!
- Linker( tem por funo AjuntarB todos os c)digos objetos dispon.veis de um mesmo projeto e
montar o ar$uivo e,ecutvel!
"ara acionar o compilador e depois o linEer em um s) comando(
- ?enu Execute Compile%! ?ensagens de status so mostradas em uma janela pr)pria
Durante o processo de compilao so encontrados os poss.veis erros do programa! *stes erros so
classificados em duas categorias(
,visos (warnings* ( so erros $ue no impedem a compilao do programa, porm indicam algum
poss.vel problema em sua l)gica!
*,emplos de situa-es $ue geram AwarningsB( variveis declaradas $ue nunca so usadas4 troca de
operador relacional AFFB por operador de atribuio AFB!
Erros (errors*: so erros graves, $ue impedem a compilao do programa pelo compilador!
*,emplos de situa-es $ue geram AerrorsB( falta de par'nteses e@ou c%aves4 utili+ao de variveis
no declaradas!
Caso %aja erros, estes so indicados na vista ACompilerB, abai,o da janela do editor, e podem ser
acessados atravs de um duplo cli$ue sobre a mensagem!
&. Depurando o pro#rama
Depurar /debugging- ou simplesmente AdebugarB0 significa encontrar poss.veis erros em um
programa e corrig.-los!
*m se tratando de erros de sinta,e, estes so informados pelo compilador ap)s a tentativa de
compilao, permitindo $ue o programador os encontre e corrija facilmente! G os erros de l)gica
mais simples /por e,emplo, trocar o operador de igualdade pelo operador de atribuio0 so muitas
ve+es informados na forma de AwarningsB, dependendo do compilador!
1lguns erros de l)gica, no entanto, no podem ser detectados pelo compilador e muitas ve+es so
dificilmente detectveis at mesmo pelo programador ao varrer visualmente o c)digo-fonte! "or
e,emplo, no seguinte programa(
int i;
or (i ) (; i < 8(; i99);
{
print(2"n: valor da variavel i eh &d7,i);
0
3 usurio deseja $ue a sa.da do programa seja(
. valor da variavel i e) $
. valor da variavel i e) 1
. valor da variavel i e) /
%%%
. valor da variavel i e) "
no entanto, a sa.da do programa ser simplesmente(
. valor da variavel i e) 1$
Csto ocorre por$ue e,iste um ponto-e-v.rgula ap)s o cabeal%o do for, $ue causa a e,ecuo de uma
instruo va+ia nas =< itera-es do lao4 ap)s a e,ecuo das itera-es o printf(* ser e,ecutado
uma 6nica ve+, e,ibindo o valor =< para i! *sse um erro muito cometido por programadores
ine,perientes e $ue pode ser de dif.cil deteco, caso o programador possua apenas a sa.da visual
do programa como indicao do erro!
"ara detectar este e outros tipos de erro de forma mais eficiente, pode-se utili+ar o recurso de
e,ecuo do programa passo-a-passo! &este caso, uma ferramenta agregada ao ambiente de
desenvolvimento c%amada depurador /ou debugger0 permite $ue o programador ApercorraB a
se$u'ncia de instru-es do seu programa, e,ecutando uma por ve+ e analisando os valores das
variveis a cada passo da e,ecuo!
"ara configurar o projeto para ser depurvel no Dev-C++
- ?enu Project Project Options.
- 1ba Compiler, item Linker.
- Configurar AHenerate debugging informationB para Yes.
"ara iniciar a depurao no Dev-C++(
- Iigar ao menos um ponto de parada /breaEpoint0 utili+ando a opo Toggle breakpoint.
- ?enu ebug ebug.
Comandos 6teis para depurao(
Next !tep( permite e,ecutar somente a pr),ima instruo
!tep "nto: entra em c%amadas de fun-es
Toggle breakpoint: liga@desliga ponto de parada da e,ecuo
#un to Cursor: e,ecuta at a lin%a onde se encontra o cursor
7oto direito sobre uma varivel A$$ %atc&: adiciona uma varivel para visuali+ao
na vista de AdebugB!

Вам также может понравиться