Općenito o razvojnim okolinama

Općenito o razvojnim okolinama
Kolegij: Programski jezik C++
Ak. god. 2014/2015
Doc. Dr. Sc. Marko Maliković
Četiri faze izrade programa
1. Pisanje izvornog (source) kôda
2. Prevođenje izvornog kôda
3. Povezivanje u izvedbeni kôd
4. Testiranje programa
Pisanje izvornog (source) kôda
 Bilo koji tekst editor (npr. Notepade)
 … ali …
 Integrirana razvojna okolina (eng. Integrated Development
Environment) služi za:
 Upis kôda
 Ispravljanje kôda
 Zapravo: za sve četiri faze razvoja programa
 Za C++:
 Microsoft Visual Studio (za Windows platforme)
 Visual C++ - besplatna verzija
 Code::Blocks - Free!
 Upotrebljavamo je u računalnoj učionici
 Orwell Dev-C++ (za Windows platforme) - Free!
 http://sourceforge.net/projects/orwelldevcpp/
 Verzija Dev-C++ koja je opisana u knjizi "Demistificirani C++" je zastarjela
 Eclipse (za Windows i Linux platforme) - Free!
Orwell Dev-C++ Download
Dobavimo instalacijsku datoteku
Dobavimo instalacijsku datoteku
Pokrenemo instalacijsku datoteku
 … i pratimo instalaciju bez da radimo bilo kakve
promjene
Pokretanje okoline Orwell Dev-C++
Pokretanje okoline Orwell Dev-C++
Pokretanje okoline Orwell Dev-C++
Pokretanje okoline Orwell Dev-C++
 … itd (nije potrebno ništa mijenjati)
I dobijemo prozor za razvoj aplikacije
Eclipse - Downloads
Eclipse IDE for C/C++ Developers
[Croatia (Hrvatska)] University of
Rijeka (http)
Dobavljanje
Dekomprimirati datoteku
Pokrenemo eclipse (Application)
Pokrenemo eclipse (Application)
OK
Workbench
C/C++ - Eclipse
Besplatna verzija Visual C++
http://www.visualstudio.com/en-US/products/visual-studio-express-vs
Uređivači teksta u razvojnim
okolinama
 Sintaksno isticanje ključnih riječi (eng. syntax
highlighting)
 Upozorava na pogreške već tijekom pisanja kôda
Prevođenje programskog kôda na
strojni jezik
 Jedini jezik kojeg računalo razumije je njegov vlastiti strojni jezik
(binarno kodirane instrukcije - "nule i jedinice")
 Prevoditelj prevodi program iz programskog jezika u strojni jezik
 Prevoditelj jezika C++ provodi dvije glavne faze:
1.
Provjerava sintaksne greške izvornog programa i ako ih ne
nađe onda prevodi naredbe izvornog programa u strojni jezik

2.
Dobivena verzija programa zove se objektni program
Povezuje (linka) objektni program s drugim programima koje
C++ već sadrži i koje pozivamo u našem programu

Dobivena verzija programa zove se izvršni kôd (executable code)
Na računalu se izvršava izvršni kôd
Izvršni kôd se sastoji od nula i jedinica
Izvršni kôd je razumljiv samo procesoru računala




(... i entuzijastima koji još programiraju u strojnom jeziku)
Preciznije o prevođenju iz izvornog
(source) kôda u objektni kôd
 Datoteke s C++ izvornim kôdom imaju obično
ekstenziju c, cp ili cpp
 Ekstenzija je potrebna samo da bi se datoteka lakše
pronašla
 Izvorni kôd se prevodi u datoteku objektnog kôda
(eng. object code)
 Datoteke koje sadrže objektni kôd obično imaju
ekstenziju o ili obj
 Prilikom prevođenja prevoditelj provjerava sintaksu
izvornog kôda i javlja grešku ako je nađe
 Ove greške zovu se greške pri prevođenju (compile-time
errors)
Greške pri prevođenju
Preciznije o izvedbenom kôdu
 Nakon prevođenja pristupa se povezivanju (eng.
linking) objektnog kôda i već postojećih biblioteka u
kojima se nalaze već prevedene gotove funkcije ili
podaci
 na primjer funkcije poput trigonometrijskih,
eksponencijalnih, itd
 Uoči li povezivač neku grešku prilikom povezivanja u
smislu da se neki poziv kôda ne može realizirati u
izvedbenom kôdu onda javlja grešku
 Ove greške zovu se greške pri povezivanju (link-time
error)
 Uspješnim povezivanjem dobiva se izvedbeni kôd
 Ponekad izvedbeni kôd ne radi kako smo zamislili
 Te greške zovemo greške pri izvođenju (run-time error)
Upozorenja
 Osim pogrešaka, prevoditelj i povezivač javljaju i upozorenja:
Upozorenja
 Upozorenja ne onemogučavaju nastavak
prevođenja odn. povezivanja ali ukazuju na
potencijalnu opasnost
 Ta upozorenja se odnose na zamke u načinu
kako pišemo kôd
 Primjer: Deklarirana je varijabla čija vrijednost se nigdje u
programu ne koristi
 Ako je kreator programa siguran u svoj kôd onda
može gornja upozorenja zanemariti