- cc je standardní překladač C
- gcc je GNU překladač C
cc [volby] soubory
gcc [volby] soubory
dělá překlad i linkování, několik fází
- extenze
- *.c zdroje v C
- *.h hlavičky (headr)
- *.o přeložený objekt modul
- *.s zdroje v asembleru, nebo přeložené do asembleru
- *.a statické knihovny
- *.so dynamické knihovny
- *.f zdroje ve Fortranu
- překlad
*.c *.o
*.c *.s *.o
*.s *.o
- linkování
*.o spustitelný soubor (binární)
*.o, *.a, *.so spustitelný soubor (binární)
- vytvoření knihovny
*.o *.a
*.o, *.a *.so
- standardní jména souborů
- a.out binární spustitelný soubor
- core obraz paměti po přerušení některým ze signálů
(např. přetečení, dělení nulou, segmentation fault)
- volby
- -c (compile) jen překlad, ne linkování
- -o file (output) výstup bude ve file a ne v a.out
- -O (optimize) optimalizace
- -g (debug) překlad pro ladění
- -S (asembler) překlad jen do asembleru
- -larg (library) při limkování použít knihovnu libarg, jména knihoven lib*.a, lib*.so
- -L path (library) cesta do adresáře kde jsou knihovny,
standardní cesty ke knihovnám prohledává i bez této volby
- -I path (include) cesta do adresáře kde jsou soubory s
hlavičkami (headry) *.h
- -C generuje kód pro kontrolu indexů polí během běhu programu
- příklad
cc pp.c p1.o -lm
- příklad se zdrojovým souborem
cc count.c
soubor count.c
#include <stdio.h>
#define PERIOD '.'
main()
{
char c;
int count;
for (count=0; (c=getchar ()) != PERIOD; )
count++;
printf("Number of characters is %d\n", count);
}