11. gyakorlat (2008. november 17.)
PARANCSSOR
- A main függvénynek három paramétere lehet.
Az első egy int, a parancssorban kapott argumentumok száma + 1
(a program neve maga is egy argumentum).
A második egy olyan pointer-tömb, mely azokra a memóriaterületekre mutatnak,
ahol sztringként vannak letárolva a parancssori argumentumok.
A harmadik hasonló a másodikhoz, csak ez a környezeti változók
címeit tartalmazza. - Írj egy programot, ami összeadja a parancssori paramétereit.args.c
- Írj egy programot, amely n-szer egymás után fűzi ugyanazt az s sztringet,
ahol n és s is parancssori paraméter.
args2.c
PP MAKRÓK
- Paraméter nélküli és paraméteres makrók definiálása #define segítségével
Preprocesszálás eredménye
-D fordítási opció
makrofgv.c - Preprocesszálás eredménye (csak a saját kód preprocesszált alakja,
az utolsó 4 sor): gcc -E makrofgv.c|tail -4>makrofgv.i
A zárójelek kellenek!
#define negyzet(X) X*X
negyzet(a) -> a*a
negyzet(a-1) -> a-1*a-1
Csak egyszerű feladatokra használjuk!
minmax.c - gcc -Dnev=ertek - definiálunk egy nev nevu konstanst ertek ertekkel
az értékadás elmaradhat, ekkor 1 értékű lesz a konstans
debug.c - Feltételes fordítás: #if #ifdef #ifndef #else #elsif #endif
if_else.c
HEADER FÁJLOK
- main nélküli források.
Több forrásból egy program.
Egy .o felhasználása több programhoz. - A következő három fájl a következőket tartalmazza:
- lib.h :függvények deklarációja, a függvényekhez kommentek
- lib.c :a lib.h -ban deklarált függvények implementálása
- libmain.c :olyan program, amely használja a "lib" függvénykönyvtárunkat
- Elkészítés a következőképpen zajlik:
gcc -Wall -pedantic -c lib.c
gcc -Wall -pedantic -c libmain.c
gcc -Wall -pedantic -o lm lib.o libmain.o - lib.h
- lib.c
- libmain.c
FELADATOK
/pub/progalap/Gyakorlat/gyak11