Pisanje programa predstavlja samo prvi deo rada u programiranju.
Da bi računar mogao da izvrši program, potrebno je da program:

  • napišemo,
  • sačuvamo,
  • kompajliramo,
  • i pokrenemo.

Veliki broj početnika napravi prvi program, ali ne razume šta se zapravo dešava kada kliknemo:

Build and Run

U ovom tekstu naučićemo:

  • kako se pokreće C++ program,
  • šta se dešava tokom kompajliranja,
  • kako nastaje izvršni fajl,
  • kako procesor izvršava program,
  • i kako rešiti najčešće probleme pri pokretanju programa.

Šta je potrebno za pokretanje C++ programa?

Da bismo mogli da pokrenemo C++ program potrebno je:

  • razvojno okruženje,
  • kompajler,
  • i izvorni kod.

U prethodnim lekcijama instalirali smo:

Code::Blocks

koji već sadrži:

GCC kompajler

To znači da sada možemo:

  • pisati kod,
  • kompajlirati program,
  • i pokretati aplikacije.

Korak 1 — Pokretanje Code::Blocks-a

Prvi korak je pokretanje Code::Blocks programa.

Nakon otvaranja videćemo:

  • menu,
  • editor,
  • panel za projekte,
  • i prostor za pisanje koda.

Ako prvi put pokrećemo program, potrebno je proveriti da li je pravilno izabran kompajler:

GNU GCC Compiler

Bez kompajlera program neće moći da se pokrene.

Korak 2 — Kreiranje projekta

Novi projekat kreiramo ovako:

  1. Kliknemo:
File
  1. Zatim:
New
  1. Nakon toga:
Project
  1. Izaberemo:
Console Application
  1. Kliknemo:
Next
  1. Izaberemo:
C++
  1. Unesemo naziv projekta
  2. Kliknemo:
Finish

Code::Blocks automatski kreira:

  • projekat,
  • main.cpp fajl,
  • i osnovnu strukturu programa.

Korak 3 — Pisanje programa

U fajlu:

main.cpp

pišemo program.

Primer:

#include <iostream>
using namespace std;

int main() {
    cout << "Hello World";
    return 0;
}

Ovaj program prikazuje tekst:

Hello World

na ekranu.

Korak 4 — Čuvanje programa

Pre pokretanja potrebno je sačuvati kod.

To radimo klikom na:

File → Save

ili kombinacijom tastera:

CTRL + S

Čuvanje programa je veoma važno jer kompajler prevodi upravo sačuvani kod.

Korak 5 — Kompajliranje programa

Sledeći korak je:

kompajliranje

To znači da kompajler prevodi C++ kod u mašinski jezik.

U Code::Blocks-u možemo kliknuti:

Build

Tokom kompajliranja:

  • proveravaju se greške,
  • analizira se sintaksa,
  • prevodi se kod,
  • i kreira izvršni program.

Ako postoje greške, program neće moći da se pokrene.

Na primer:

cout << "Hello"

prouzrokovaće grešku jer nedostaje:

;

Korak 6 — Pokretanje programa

Ako nema grešaka, program možemo pokrenuti.

To radimo klikom na:

Run

ili:

Build and Run

Najčešće koristimo:

F9

Code::Blocks tada:

  1. kompajlira program,
  2. kreira .exe fajl,
  3. pokreće izvršni program.

Nakon toga otvara se konzolni prozor sa rezultatom programa.

Šta se dešava u pozadini?

Kada pokrenemo program dešava se nekoliko važnih koraka.

1. Kompajler prevodi kod

C++ instrukcije prevode se u:

  • mašinski kod,
  • odnosno binarne instrukcije.

2. Kreira se izvršni fajl

Na Windows sistemima nastaje:

.exe

fajl.

3. Operativni sistem učitava program

Windows učitava program u memoriju.

4. Procesor izvršava instrukcije

CPU izvršava instrukcije jednu po jednu.

5. Program prikazuje rezultat

Rezultat vidimo u konzolnom prozoru.

Šta je konzolni prozor?

Konzola predstavlja prozor u kome program:

  • prikazuje tekst,
  • prima unos,
  • i ispisuje rezultate.

Na primer:

Hello World

pojavljuje se upravo u konzoli.

Konzolni programi predstavljaju osnovu za učenje programiranja jer omogućavaju fokus na:

  • logiku,
  • algoritme,
  • i rad programa.

Najčešće greške pri pokretanju programa

Početnici često prave nekoliko tipičnih grešaka.

1. Nedostaje tačka-zarez

Pogrešno:

cout << "Test"

Ispravno:

cout << "Test";

2. Pogrešno napisano cout

Pogrešno:

coout << "Hello";

3. Nedostaje biblioteka

Pogrešno:

using namespace std;

int main() {
    cout << "Hello";
}

Ispravno:

#include <iostream>
using namespace std;

int main() {
    cout << "Hello";
}

4. Program se odmah zatvara

Početnici često misle da program nije radio jer se konzola brzo zatvori.

To je normalno ponašanje kod kratkih programa.

Kasnije ćemo naučiti kako da zaustavimo zatvaranje konzole.

Zašto je važno razumeti proces pokretanja programa?

Veliki broj početnika samo klikne:

Build and Run

bez razumevanja šta se zapravo dešava.

Međutim, ozbiljan programer mora razumeti:

  • šta radi kompajler,
  • kako nastaje .exe,
  • kako CPU izvršava instrukcije,
  • i kako se pronalaze greške.

To znanje predstavlja osnovu ozbiljnog razvoja softvera.

Rezime

Pokretanje C++ programa prolazi kroz više važnih koraka:

  • pisanje koda,
  • čuvanje programa,
  • kompajliranje,
  • kreiranje izvršnog fajla,
  • i izvršavanje instrukcija.

Razumevanje tog procesa omogućava:

  • lakše pronalaženje grešaka,
  • bolje razumevanje računara,
  • i sigurnije učenje programiranja.

Sada već možemo:

  • napraviti projekat,
  • napisati kod,
  • kompajlirati program,
  • i uspešno pokrenuti C++ aplikaciju.

Mini test

  1. Koji program koristimo za pisanje C++ koda?
    a) Photoshop
    b) Code::Blocks
    c) Chrome
  2. Šta radi kompajler?
    a) Prevodi kod u mašinski jezik
    b) Crta slike
    c) Gasi računar
  3. Koji taster najčešće pokreće Build and Run?
    a) F1
    b) F5
    c) F9
  4. Koju ekstenziju ima izvršni program na Windows-u?
    a) .jpg
    b) .exe
    c) .txt
  5. Šta prikazuje konzola?
    a) Rezultat rada programa
    b) Internet stranice
    c) Slike

Zadaci za vežbu

  1. Kreiraj novi Console Application projekat.
  2. Napiši program koji ispisuje tvoje ime i prezime.
  3. Pokreni program koristeći:
Build and Run
  1. Namerno napravi grešku i pročitaj poruku kompajlera.
  2. Pronađi .exe fajl svog programa na računaru.

Domaći zadatak

Napravi detaljan dijagram procesa pokretanja programa:

Programer → Izvorni kod → Kompajler → .exe → Operativni sistem → CPU → Konzola

Za svaki korak napiši kratko objašnjenje šta se dešava.

Pristupačnost