Programski jezici C i C++ se ubrajaju među najpopularnije programske jezike opće namjene za profesionalnu primjenu. Rabe se podjednako na velikim i osobnim računalima. Ovi su jezici vrlo složeni i velikih mogućnosti, a namijenjeni su ponajprije stručnjacima koji se profesionalno bave pisanjem programa. Temeljni razlozi njihove velike popularnosti su djelotvornost, prilagodljivost i dobra normiranost. U ovoj će cjelini sasvim ukratko i na nizu jednostavnih primjera biti objašnjeni osnovni koraci programiranja u jeziku C++. Microsoft Visual C++ 6.0 Postoje programi koji pomažu programeru pri svakom od navedenih koraka. Iako se mogu rabiti odvojeni programi za svaki od koraka, danas se uglavnom rabe integrirana razvojna okruženja (engl. integrated development environment, skraćeno IDE). Integrirana razvojna okruženja objedinjuju programe za: pisanje izvornog koda, prevođenje, povezivanje, pohranu, izvršenje i pronalaženje pogrješaka.
Na tržištu postoji više inačica prevoditelja jezika C++. Neke su komercijalne, a neke besplatne. Primjeri u ovoj cjelini načinjeni su pomoću integriranog razvojnog okruženja Microsoft Visual C++ 6.0.
Datoteka izvornog koda Datoteka izvornog koda, nastavka cpp sadrži naredbe koje je napisao programer (izvorni kôd, engl. source code). Izvorni kôd je, dakle, skup naredbi (program) čijim će se izvršenjem dobiti rješenje postavljenog zadatka. Izvorni kod je moguće pisati u bilo kojem programu za uređivanje teksta (engl. text editor). Na računalu se može izvršiti samo strojni ili izvršni oblik (engl. executable) programa, pa se izvorni kôd prije izvršavanja mora pretvoriti u izvršni. Pretvara se u dva koraka s pomoću programa prevoditelja (engl. compiler) i povezivača (engl. linker).
Program prevoditelj Program prevoditelj prevodi izvorni kôd iz simboličkog jezika visoke razine te provjerava sintaksu napisanog izvornog kôda. Pod sintakstom se podrazumijevaju pravila pisanja naredbi, neka vrsta "pravopisa" izvornog kôda. Pogriješke koje prevoditelj pronađe u vrijeme prevođenja (engl. compile-time error) nazivaju se sintaktičke pogriješke. One nastaju zbog nepoštivanja pravila programskog jezika, npr. pogrešno napisane naredbe. Ako ih prevoditelj pronađe, ispisat će poruke i upozorenja o njima. Otkrivene pogrješke treba ispraviti pa ponovno pokrenuti program za prevođenje. Prevođenjem nastaje datoteka objektnog kôda (engl. object code), nastavka obj. (Objektni kôd ne treba brkati s objektno usmjerenim programima iako im je naziv sličan!)
Datoteka objektnog kôda ne može se izravno izvršiti na računalu. Da bi se stvorila datoteka izvršnog koda treba datoteku objektnog koda povezati s postojećim datotekama u kojima se nalaze pripremljene, gotove funkcije ili neki drugi potrebni dijelovi programa. Datoteke koje sadržavaju pripremljene, prevedene funkcije nezivaju se biblioteke (engl. libraries). Povezivanje u izvršni kôd zadatak je programa koji se naziva povezivač (engl. linker). Ako izvorni kôd nije moguće povezati s raspoloživim bibliotekama nastaju pogrješke u vrijeme povezivanja (engl. link-time errors). Nakon otklanjanja pogrješki te vrste i uspješnog povezivanja nastaje izvršni oblik programa, izvršna datoteka nastavka exe. U načelu, izvršnoj datoteci nisu potrebni nikakvi dodaci (izvorni program, prevoditelj, povezivač, biblioteke, itd.) da bi se mogla izvršavati. Izvršna datoteka je konačni rezultat izradbe programa.
Izvršna datoteka još uvijek ne jamči da će program uspješno raditi. Program treba višekratno provjeriti s podacima za koje je unaprijed poznat krajnji rezultat. Moguće pogrješke otkrivene provjerom nazivaju se pogreške pri izvođenju ili logičke pogrješke (engl. run-time errors) a uzrokuje ih pogrješni algoritam na kojem se program temelji. Od svih navedenih pogrješaka najteže je otkriti i ispraviti upravo logičke pogrješke jer su sadržane u algoritmu pa ih računalo i spomenuti programi ne mogu otkriti jer računalo "ne zna" što zapravo čovjek želi.
Osim pogrješaka, prevoditelj i povezivač mogu javiti i upozorenja (engl. warnings). Upozorenja ne sprečavaju prevođenje, povezivanje i izvršavanje programa. Upozorenja ukazuju na dijelove programa koji u određenim okolnostima mogu prouzročiti pogrješku pa je stoga najbolje ukloniti njihove uzroke.
Dakle, da bi se stvorila izvršna datoteka programa C++ potrebno je pokrenuti nekoliko programa (program za pisanje izvornog kôda, prevoditelj, povezivač). Svaki od tih programa stvara nekoliko datoteka pa korisniku nije lako pamtiti koje sve radnje treba pokrenuti za stvaranje izvršne datoteke. Posao je znatno olakšan rabi li se objedinjavanje svih datoteka vezanih za jedan program u projekt (engl. project). Projekt je, dakle, skup međusobno povezanih datoteka. Sadrži sve potrebne informacije o prevoditelju, povezivaču, datotekama, bibliotekama i ostalom potrebnom za izradbu izvršne datoteke. Projekt se, dakle, "brine" za sve što je potrebno učiniti da bi od datoteke izvornog kôda nastala izvršna datoteka. Slika prikazuje primjer objedinjenih datoteka projekta prvi:
|