6. Prostredky pro programovani v jazyce
C
Standardni dodavka OS UNIX
obsahuje kompilator jazyka C a nektere
pomocne programy pro usnadneni
prace programatora.
6.1 Kompilator C
Zpracovani kompilatorem jazyka
C probiha v nekolika fazich.
Obvykle je zdrojovy text
souboru s priponou .c prelozen
makroprocesorem (soubor .i).
Vysledny text je prelozen
kompilatorem do assembleru
(soubor .s) a vysledek prekladu
prelozen assemblerem do object
modulu (soubor .o). K tomu
jsou potom sestavovacim programem
prilinkovany knihovny
(systemove a uzivatelske)
a vytvoren spustitelny program
(impl. ulozen do souboru
a.out). Tyto faze jsou vsak
pred uzivatelem do znacne
miry skryty.
Prikaz pro praci s kompilatorem:
cc [opts] files standardni
kompilator jazyka C
-o file jmeno prelozeneho
programu
-D ident definice identifikatoru
-E zpracovani pouze makroprocesorem
-p informace pro monitorovani
(prof)
-g informace pro dbx
-go informace pro adb
6.2 Vypisy a kontrola programu
pr [opts] [files] priprava
textu pro tisk
cxref files generator krizovych
odkazu pro jazyk C
lint files kontrola programu
v jazyce C
zamerena na prenositelnost
konstrukci,
podezrele akce (nedefinovane
hodnoty,
nepouzite promenne a funkce,
nedostupny
kod, nekonecne cykly) a typovou
kontrolu
6.3 Ladeni
size files zjisteni velikosti
prelozenych programu
nm files vypis tabulky symbolu
programu
prof command vypis vysledku
monitorovani programu
(ze souboru mon.out vytvoreneho
spustenim
programu prelozeneho s parametrem
-p)
adb [-w] [objfile [corfile]]
ladici prostredek na urovni
assembleru
w umoznuje modifikaci souboru
objfile soubor s proveditelnym
programem
corfile soubor s obrazem
pameti po havarii
prikazy:
x,n:ta adresa,delka:typakce
akce
adresa je urcena:
cislo presun na adresu cislo
ident presun na adresu ident
typ akce je urcen:
? tisk obsahu ze souboru
objfile
/ tisk obsahu ze souboru
corfile
= tisk adresy ciselne
: prikaz pro sledovany beh
$ jiny prikaz
! prikaz pro shell
; oddelovac prikazu
format vypisu (typ akce ?
a /)
i instrukce
d slovo dekadicky
b slabika oktalove
c slabika znakove
o slovo oktalove
f dve slova v pohyblive carce
s retezec znaku
w str zmena obsahu (2 slabiky)
W str zmena obsahu (4 slabiky)
behove prikazy (typ akce
:)
r args spusteni behu
b (br) nastaveni ladiciho
zastaveni
D odstraneni ladiciho zastaveni
c pokracovani
s krokovani po instrukcich
ostatni prikazy (typ akce
$):
q,
ctrl-d ukonceni ladeni
<f vstup ze souboru f
>f vystup do souboru f
b vypis ladicich zastaveni
c vypis obsahu aktivnich
funkci
C vypis aktivnich funkci
vcetne
obsahu lokalnich prommennych
r vypis obsahu registru
e vypis externich prommenych
m vypis zpravy o mapovani
pameti
l str lokalizace adresy (2
slabiky)
L str lokalizace adresy (4
slabiky)
dbx [opts] [objfile [corfile]]
symbolicky ladici prostredek
na urovni C
objfile soubor s proveditelnym
programem
corfile soubor s obrazem
pameti po havarii
6.4 Tvorba rozsahlych programu
Pro tvorbu a udrzbu rozsahlejsich
programovych celku, ktere
sestavaji z nekolika zdrojovych
souboru slouzi prikaz "make".
Ten provadi na zaklade souboru,
ktery obsahuje popis zavislosti
mezi zdrojovymi soubory a
dalsi informace, zpracovani celku
(napr. kompilaci, instalaci
ap.)
Pouziti prikazu:
make [opts] [macros] [target]
spusteni prikazu make
-f jmeno souboru pro make
(impl. Makefile)
-i ignorovani navratovych
kodu
-s tichy rezim
-r vypnuti implicitni zavislosti
-n interpretace makefile
bez shellu
-p tisk implicitnich zavislosti
a maker
-D ladici rezim make
macros definice maker
target oznaceni casti makefile
Definice makefile:
file: files
akce pro file informace o
zavislosti souboru
a moznosti vytvorit aktualni
soubor
(obecne targets : sources
; commands)
target: navesti (oznaceni
casti makefile)
str=strings definice makra
($str rozvine makro)
$* target (bez pripony)
$@ uplna cesta target
$CC identifikace kompilatoru
lze pouzivat i prommene shellu
\ pokracovaci znak
implicitni pripony:
.o relativni (object) modul
.c program v jazyce C
.f program v jazyce Fortran
77
.r program v jazyce Ratfor
.s program v assembleru
.y zdrojovy text pro yacc
.l zdrojovy text pro lex
7. Pouzita literatura
Brodsky, J. - Skocovsky, L.:
Operacni system UNIX a jazyk
C. SNTL, Praha, 1989.
Nesvera, S. - Richta, K.
- Zemanek, P.:
Uvod do operacniho systemu
UNIX. CVUT, Praha, 1991.
Brown, P.J.:
Starting with UNIX. Addison-Wesley,
Reading, 1984.
(Vvedenije v operacionnuju
sistemu UNIX, Mir, Moskva, 1987.)
Load tento text unix.txt
|