přejít na obsah přejít na navigaci

Linux E X P R E S, Programovanie v jazyku C++: Kompilovanie programov

POINT.X (2018-19)

Programovanie v jazyku C++: Kompilovanie programov

cplusplus.png

V tomto článku sa pozrieme na dôležite body pri vytváraní zdrojových kódov a ukážeme si, ako kompilovať súbory jazyka C++. Vedieť kompilovať je základnou zručnosťou, ktorú treba vedieť pri práci s jazykom C++.


reklama

Trendy v programovaní aplikácii

Tento seriál bude obsahovať ucelenú teóriu dôležitú pre prácu s jazykom C++. Áno, môžete si povedať, že sú mnoho prameňov o jazyku C++ tak načo ďalšia nudná teória? Zdrojov o jazyku C++ je mnoho a častokrát začiatočník sa stratí v záplave informácii. Niektoré návody sú neprehľadne, slabo vysvetlené a keď sa ide na drsné programovanie, tak človek často krát zlyháva.

Sám ten pocit poznám a zažil. Preto sa budem snažiť pre začiatočníkov  napísať čo najstručnejšiu ale zároveň najnutnejšiu teóriu s mnohými príkladmi. Niektoré články budú orientované len na príklady. Pretože bez cvičenia zaujímavých problémov sa nikto algoritmický nenaučil myslieť.

Jedná vec je sa naučiť sa syntax a teóriu okolo jazyku C++, druhá vytvárať rôzne postupy vykonávania programu na riešenie daných problémov. To druhé je neporovnateľné komplikovanejšie.

Napríklad povedzme, že poznáte syntax jazyka C++ pokročilo. Dostali by ste úlohu, utriediť pole pomocou InsertSortu. Len syntax jazyka vám nepomôže k vyriešeniu zložitejších problémov.

V posledných rokoch vám v komerčnej sfére nepomôže ani dokonalé poznanie mnohých dôležitých algoritmov. Keďže ako sme si povedali v minulej časti, jazyk C++  v sebe obsahuje objektovo-orientovaný návrh aplikácii, ktorý silno podporuje komponenty. Algoritmy ako BubbleSort či nájdenie determinantu štvorcovej matice sú súčasťou komponentov, ktoré už niekto vytvoril a otestoval ich funkčnosť.

Bez nutnosti často krát ťažkopádneho vytvárania algoritmov stačí len nájsť komponent (napríklad na stránke github) a použiť ho. V súčasností je treba ovládať viacero technológii, ktoré pomerne jednoducho implementujú mnoho veci z rôznych jazykov naraz. Čo je obrovská úľava narozdiel od programovania v minulosti.

Poznámka šéfredaktora: Při používání cizích komponent je potřeba si dát pozor na licence. Používáte-li například komponenty pod licencí GNU GPL, musí být pod touto licencí celý program.

Niekto môže vytvárať algoritmus BubbleSortu 3 dni, niekto ale môže poznať technológiu s komponentom a za 5 minút má splnenú úlohu. V budúcnosti sa bude vplyv technológii zvyšovať a programovanie bude takmer len o copy/paste. Ale pozor, programátor musí rozumieť tým komponentom, ako fungujú a kde sú nasaditeľne, inak je vám komponent zbytočný.

A tak vás chcem povzbudiť začiatočníci, že treba skúšať a popasovať sa s algoritmickým myslením. Ak si ho vycibríte, používanie komponentov bude pre vás veľmi jednoduché a na tom môžete založiť i vaše živobytie.

Štandard ANSI/ISO

Tak, ako i iné programovacie jazyky, jazyk C++ má tiež svoj medzinárodný štandard.

Medzinárodný štandard vytvorila komisia Accredited Standards Comittee, ktorá pracovala pod ústavom pre štandardizáciu American National Standards Institute.

Na tento štandard sa odkazuje ako na štandard ISO. Ako aj v minulom diele bolo spomenuté, medzinárodný štandard bol štyri krát aktualizovaný v rokoch 1998, 2003, 2011 a naposledy v roku 2014. Štandardy presne popisujú, ako jazyk funguje a pri aktualizácie štandardu i jeho nové vlastnosti.



Vytvárame programy v jazyku C++

Ako začať programovať v jazyku C++? Najprv si je dobre položiť otázku, aký problém chcete vyriešiť? Ako sa mi tušíte, dôležité je navrhnúť si aplikáciu. Či už pomocou vývojových diagramov alebo rôznych schém.

Analýza a pochopenie problému je veľmi dôležité pri vytváraní aplikácie. Zvlášť pri komerčnej. Každý program by mal mať zrozumiteľný a jasne formulovateľný cieľ. Predpokladajme, že máte vytvorený návrh aplikácie. Čo ďalej?

Druhým bodom v programovaní je zapisovať zdrojový kód do nejakého editora. Či už to je obyčajný textový editor alebo integrované vývojové prostredie (IDE), je len na vás, čo si vyberiete.

Tretím bodom je skompilovať zdrojový kód. Kompilátor vytvorí objektový kód a zároveň spustiteľný aplikačný súbor/program. Spustiteľný súbor je tvorený mixom štandardného štartovacieho kódu, objektového kódu a objektovým kódom funkcii. Objektový kód funkcii obsahuje rôzne knižnice a rutinné práce ako výpis na obrazovku formou funkcii.

Kompilácia pod Linuxom

Pri písaní názvov súborov zo zdrojovými kódmi je potrebné dávať pozor na sufix (prípona). Majme napríklad meno súboru mojaAplikacia.cpp. Pred bodkou je meno súboru, tam žiadne obmedzenie sa nekladie. Za bodkou je sufix cpp. Kompilátoru tak ukážeme zdrojový kód s implementáciou C++.

Na kompiláciu pod Linuxom budeme používať kompilátor GNU C++. Všetky zdrojové kódy objavené v seriáli o jazyku C++ budú kompilovateľné pod GNU C++. Môže sa stať, že niektoré implementácie môžu vyžadovať špecializované knižnice ale nezúfajte, upozorníme na to a ponúkneme i návod na inštaláciu knižníc.

V prípade ak nemáte nainštalovaný GNU C++ kompilátor, tak v OS Linux Ubuntu a Debian postupujte nasledovne:

$ sudo apt-get update
$ sudo apt-get install g++

Poznámka šéfredaktora: Uvedeným postupem se nainstaluje nejnovější verze dostupná v dané distribuci a bude se udržovat aktuální. Lze instalovat konkrétní verzi kompilátoru, ale takový postup je vhodný jen v případě potřeby specifické verze. Při instalaci g++ se přes závislosti nainstalují i další potřebné balíčky, například s preprocesorem, linkerem nebo standardními knihovnami.

Majte vytvorený C++ súbor s názvom mojaAplikacia.cpp a chcete ho skompilovať. Zadajte do príkazového riadka (musíte sa nachádzať v priečinku, kde sa nachádza zdrojový súbor) tento príkaz:

$ g++ mojaAplikacia.cpp

g++ je odkaz na kompilátor jazyka C++ a mojaAplikacia.cpp je meno súboru, ktorý chceme skompilovať. Pri kompilácii nám linker vytvorí spustiteľný súbor s menom a.out. Ak nechceme, aby spustiteľný súbor sa volal a.out, tak použijeme príkaz takýto:

$ g++ mojaAplikacia.cpp -o mojaAplikacia

Prvú časť príkazu už poznáte, druhá len pomenuje spustiteľný súbor. Napísať parameter -o pri pomenovaní súboru je nutné.

V ďalšej časti seriálu už pôjdeme ostro programovať.

Nahoru

Příspěvky

make
ipip 19. 04. 2016, 11:30:32
Odpovědět  Odkaz 
Bude aj nieco o make, resp. inych nastrojoch na buildovanie rozsiahlejsich projektov?
Lukáš Jelínek Re: make
Lukáš Jelínek 19. 04. 2016, 15:51:17
Odpovědět  Odkaz 
Tohle by si určitě zasloužilo samostatný seriál. Díky za námět.
Programovanie v jazyku C++: Kompilovanie programov
fela 19. 04. 2016, 15:22:03
Odpovědět  Odkaz 
Myslím, že C poznám dosť dobre, objektovo som zabŕdol (v C derivároch) iba do "Arduino C". Takže verím, že ma to nakopne sa niečo nové naučiť (OK, objektovo som programoval napr. v Delphi, veeeľmi dávno i v... ech, ako sa to volalo, Power++ ?)...
Juchu
Programovanie v jazyku C++: Kompilovanie programov
Miro 27. 06. 2016, 21:34:53
Odpovědět  Odkaz 
root@asus:~/Plocha/MirO/C++/Zdroj/kódy# g++ ascii.cpp
ascii.cpp: In function ‘int main()’:
ascii.cpp:11:21: error: ‘system’ was not declared in this scope
system ("pause");
^
root@asus:

neviem co mam spravit nechce mi program skompilovat
program bol funkcny na win7
Lukáš Jelínek Re: Programovanie v jazyku C++: Kompilovanie programov
Lukáš Jelínek 27. 06. 2016, 22:17:34
Odpovědět  Odkaz 
Funkce system() je v knihovně stdlib. Je proto potřeba přidat do zdrojáku #include ˂cstdlib˃.
Re: Re: Programovanie v jazyku C++: Kompilovanie programov
Miro 28. 06. 2016, 17:45:28
Odpovědět  Odkaz 
Program funguje
╔══╦╗════╔╗═╔╗╔╗
╚╗╔╣╚╦═╦═╣╚╗║╚╝╠═╦╦╗
═║║║║║╬║║║╩║╚╗╔╣║║║║
═╚╝╚╩╩╩╩╩╩╩╝═╚╝╚═╩═╝

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 24 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.


  • Distribuce: ubuntu
  • Grafické prostředí: unity