Šiame paprastame tutorial’e mes išmoksime naudotis GCC (The GNU C Compiler) kompiliatoriumi ir parašysime paprasčiausią C programavimo kalbos programą
GCC (The GNU C Compiler) yra standartinė visų UNIX (o kartu ir Linux) sistemų dalis. Tai yra kompiliatorius, tačiau, ne tik C/C++ programavimo kalbų, bet ir Objective-C, Fortran, Java ir Ada programavimo kalbų. Žodžiu, labai plačios vartojimo galimybės.
Mes šiandien pabandysime sukurti paprastą C programėlę, kad sužinotume, kaip gcc veikia ir, galiausiai, patys įsitikintume gcc ir Linux sistemų galia ir patikimumu.
Taigi, pradedam!
Paprasčiausios Linux komandos
Šiame paprastame straipsnelyje mes naudosime šias komandas:
1. gcc – mūsų kompiliatorius. Jis gali turėti labai daug parametrų (plačiau: man gcc), bet šiandien mus domina tik du: -o failo_vardas parametras (šis parametras mūsų programą paverčia į sukompiliuotą, kuri saugoma faile failo_vardas) ir kitas parametras, kuris nurodo mūsų programos išeities tekstą (source code). Praktiškai ši komanda aiškinama vėliau.
2. ./programos_pavadinimas – programa programos_pavadinimas yra įvykdoma.
3. cat > failo_vardas.c – ši programa mūsų straipsnelyje nėra naudojama, bet pravers jums. Naudojantis ja į failą failo_vardas.c yra įrašomas koks nors tekstas (mūsų atveju – programos kodas). Pvz.:
%cat > failas.c
Tekstas (dabar spaudžiame Ctrl+Z)
(ir dar kartą Ctrl+Z)
%
Mums du kartus reikėjo paspausti Ctrl+Z, nes norime išeiti iš programos (kartu išsaugant ir į failą įrašytus duomenis). Jei esate eilutės pradžioje – Ctrl+Z užteks paspausti vieną kartą.
Į kitą eilutę pereinama ENTER klavišo pagalba.
Toliau naudojant šias komandas mūsų straipsnelyje pamatysite, kad prieš jas yra % simbolis. Į jį nekreipkite dėmesio, jis mums neturi reikšmės ir jo rašyti nereikia. Yra rašoma komanda. Pas jus taip pat gali būti arba %, arba $ simbolis.
C programavimo pradmenys
C programavimo kalbos programa turi labai griežtai nustatytą struktūrą. Tačiau čia ir slypi visas patogumas – negalima ko nors padaryti ne taip, nes programa neveiks.
Programos yra kompiliuojamos gcc kompiliatoriumi, jam duodant komandą: gcc failas.c –o failas Pvz.: gcc programa.c –o programa
programa.c failas – tai failas, kuriame saugomas mūsų programos išeities tekstas (source code). Jį mes ir rašysime.
programa – tai sukompiliuotas ir parengtas vykdymui failas. Jį galima įvykdyti. Tai padaroma komanda ./programa
Kiekviename C programos faile BŪTINAI turi būti štai toks kodo gabalas:
—————Programos Nr. 1 pradžia (first.c)—–
main()
{
}
—————Programos Nr. 1 pabaiga—————
Šiame main() bloke ir yra visa mūsų programa. Čia mes ir rašysime visą paprastutę mūsų programėlę. Jeigu jūs pabandysite sukompiliuoti šią programą:
%gcc first.c –o first
%
Ir paleisti:
%./first
%
Nieko nebus, nes programa nieko nedaro. Mums reikia priversti programą ką nors daryti.
Tam mes naudosime funkciją printf(). Ši funkcija išspausdina tekstą, kuris rašomas dvigubose kabutėse skliausteliuose. Kadangi paprastai programavimo kalbose pats pirmasis tekstas yra Hello, World! (tokia jau tradicija), tad mes šį tekstą ir pabandysime išspausdinti. Tad, įterpkime funkciją į programą:
—————Programos Nr. 2 pradžia (second.c)—
main()
{
printf(„Hello, World!”);
}
—————Programos Nr. 2 pabaiga—————
Dabar kompiliuojame:
%gcc second.c –o second
%
Ir paleidę gauname štai tokį dalyką:
%./second
Hello, World!% <-žymeklis štai čia
Sveikinu, mes ką tik parašėme mūsų pirmąją veikiančią programą! Galima sakyti, kad mes jau esame programuotojai! Sveikinu dar kartą!
Tačiau yra vienas blogas dalykas. Koks? Žymeklis liko toje eilutėje, kur ir parašytas mūsų tekstas. Klausimas: o ar negalima būtų perkelti žymeklį eilute žemiau, kad gautusi štai taip:
%gcc second.c –o second
%./second
Hello, World!
% <-žymeklis štai čia
Atsakymas: galima! Tai mums padės padaryti operatorius \n Tai yra vadinamasis newline (nauja eilutė) operatorius, kuris perkelia žymeklį į kitą eilutę.
Taigi, tobuliname programą:
—————Programos Nr. 3 pradžia (third.c)—
main()
{
printf(„Hello, World!\n”);
}
—————Programos Nr. 3 pabaiga—————
Dabar vėl pabandome ir žiūrime, ką gausime:
%gcc third.c –o third
%./third
Hello, World!
% <-žymeklis štai čia
Puiku ? Viskas tikrai veikia.
Galima būtų pabaigti mūsų mažą C pradmenų kursą, bet pagalvojau, kad būtų įdomu padaryti gražų efektą su n operatoriumi. Ar nebūtų įdomu mūsų “Hello, World!” parašyti po vieną raidę eilutėje? \n operatorius tai leidžia padaryti, kadangi jis perkelia mūsų žymeklį į naują eilutę. Taigi, dar kartą tobuliname programą:
—————Programos Nr. 4 pradžia (fourth.c)—
main()
{
printf(„H\n e\n l\n l\n o\n, \n W\n o\n r\n l\n d\n!\n”);
}
—————Programos Nr. 4 pabaiga—————
Taigi, kompiliuojame ir paleidžiame:
%gcc fourth.c –o fourth
%./fourth
H
e
l
l
o
,
W
o
r
l
d
!
%
Įdomu ir gražu pasižiūrėti. Kartu nieko sudėtingo 
Sveikinu! Kartu mes išmokome parašyti pačią paprasčiausią C programavimo kalbos programą. Vietoje naudoto Hello, World! teksto, savaime suprantama, galima įrašyti bet ką. Pabandykite.
Sekmės programuojant!