Překlad programu v Linuxu

Z Milan Kerslager
Verze z 6. 4. 2009, 20:39, kterou vytvořil Milan.Kerslager (diskuse | příspěvky) (+kat)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

Pro překlad programu v Linuxu se obvykle používá kompilátor GCC, který je schopen překládat zdrojové kódy v nejrůznějších programovacích jazycích (jazyk C, Pascal, Fortran apod).

Dále se budeme zabývat překladem programu v jazyce C v operačním systému Linux.

Program Hello World!

Nejjednodušším programem, který se obvykle na úvod do jazyka C uvádí, je vypsání jednoduchého textu Hello World!, popřípadě Ahoj světe!:

#include <stdio.h>

int main()
{
  printf("Ahoj svete!\n");
}

Editor a zápis programu

Abychom mohli zdrojový kód upravovat, je potřeba použít vhodný editor.

Editor ViM

Editor vi je z historických důvodů k dispozici prakticky na všech unixových systémech, tedy i v Linuxu. Má ovšem odlišné ovládání od klasických WISIWIG editorů, a proto ho nelze začátečníkům doporučit. Pro práci se zdrojovými kódy se ale velmi hodí. Umí zvýrazňovat syntaxi a disponuje mnoha možnostmi, které psaní programů zpříjemňují.

Použít můžete klasický editor vi nebo jeho vylepšenou variantu vim, případně v grafickém prostředí gvim, který vám nabídne i menu se základními příkazy.

Editor nano a joe

Editor nano je následníkem editoru pico. Stejně jako editor joe se chovají jako klasické WISIWIG editory. Klávesové zkratky jsou tzv. WordStar kompatibilní. Všechny tři editory lze doporučit všem začátečníkům.

Editor mcedit

Editor mcedit je součástí programu Midnight Commander (příkaz mc), což je obdoba programů Norton Commander, Volkov Commander, případě jejich grafického nástupce Total Commander. Umí zvýrazňovat syntaxi a ovládá se pomocí menu. Začátečníkům lze doporučit.

Vzhledem k použití funkčních kláves je potřeba věnovat pozornost vašemu terminálu. V případě, že se k Linuxu připojujete z prostředí Microsoft Windows, věnujte pozornost návodu pro nastavení terminálu PuTTY.

Překlad programu

Výše uvedený program uložíme do souboru ahoj.c a přeložíme pomocí:

gcc ahoj.c

Protože jsme nespecifikovali jméno výstupního souboru, vznikne binární program se standardním názvem a.out, který můžeme spustit. Protože v unixových systémech není z bezpečnostních důvodů v cestě PATH uveden aktuální adresář, musíme systému říct, že daný soubor leží v aktuálním adresáři (akuální adresář označujeme tečkou). Program tedy spustíme takto:

./a.out

Program by měl vypsat hlášení Ahoj svete!.

Určení jména výstupního souboru

Pokud bychom chtěli specifikovat jméno souboru, který vznikne překladem, použijeme k tomu volbu -o:

gcc -o ahoj ahoj.c

V tomto případě bude binární program uložen do souboru s názvem ahoj. Spustit ho můžeme obdobně:

./ahoj

Vypisování varování

Standardně překladač vypisuje pouze některé vážné varování nebo chyby. Pokud bychom chtěli, aby nás překladač varoval při výskytu všech podezřelých konstrukcí, musíme si je zapnout. Obvykle bychom měli tuto volbu používat vždy, abychom se vyhnuli nepříjemným překvapením a psali programy podle doporučení:

gcc -Wall -o ahoj ahoj.c