Az elrendezés a könyvtár és a header fájlok, programozás C és C
Amikor létrehoz egy C fordító, vagy C ++ két probléma is megoldódott. Először is fejlesztette ki a fordító. Másodszor, létrehoz egy könyvtárat a funkciókat. Mivel Borland könyvtár tartalmaz egy csomó funkciók, nem kétséges, hogy a teremtés szükséges komoly erőfeszítéseket a programozó. (A puszta leírása ezen funkciók csak több száz oldalas!) Bármilyen C vagy C ++ program felhívja ezeket a funkciókat, amikor többszörös feladatok elvégzésére. Tekintettel az ilyen alapvető szerepet a könyvtár számára a programok végrehajtásának fontos, hogy megismerjék az a bizottság működését. Különösen azt kell megérteni a munkát az építtető, hogy megértsék, milyen könyvtárak eltérnek object fájlt és mi a szerepe a header fájlokat. Ezeket a kérdéseket az alábbiakban tárgyaljuk.
A linker (kötő)
kép 1
int számítanak;
extern void kijelző (void);
int main (void)
count = 10;
kijelző ();
vissza 0;
>
2. kép
#include
extern int count;
void kijelző (void)
printf (gróf "");
>
Hasonlóképpen linker „jelentések” File egyik, hol van a kijelző funkció, így lehet nevezni.
Könyvtárfájlokhoz képest objektum fájlok
Bár a könyvtár és nézd meg a tárgy fájlok között van egy lényeges különbség: elérésekor a könyvtár minden kódot adunk a program elérhető a könyvtárban. Amikor a kapcsoló kezeli a program, amely több objektum fájlok, padló-sító kód minden objektum fájl részévé válik a kapott futtatható programok, mi is. Ez akkor történik, függetlenül attól, hogy ténylegesen használják ezt a kódot. Más szóval, az elrendezés a kialakulását a program egyesíti az összes objektum-nye fájlokat. A könyvtár fájlokat nem ez a helyzet.
A könyvtár gyűjteménye funkciókat. Ezzel szemben a tárgy fájlokat a Biblia-brary fájl nevét tartalmazza az egyes funkciók, tárgykód funkciók és információk, ka-sayuschayasya „átvitelének” a szükséges fájlokat szerkeszteni kapcsolatokat. Amikor egy program utal a funkciót tartalmaz a könyvtár, a linker ezt a funkciót, és hozzáadja a kódot a program. Így a program hozzáadja csak azokat a funkciókat, amelyek ténylegesen használható is.
Mivel a funkciók a könyvtárban tárolt, a végrehajtható kód a program csak akkor igazán használható a program funkció. (Ha részét képezték az objektum-CIÓ fájlokat, a program lett volna hosszabb, mint néhány száz kilobájt!)
header fájlok
Sok könyvtári funkciók működnek sajátos adattípusokat és a struktúrák, amelyekre a program hozzáférést kell biztosítani. Ezek a szerkezetek és típusú meghatározása a header fájlokat mellékelt a fordító, és ők (a fejléc fájlokat) szerepel (a #include teljesítmény) az egyes fájlok, amely a funkciókat, amelyekre vonatkoznak. Ezen kívül minden könyvtári funkciók prototípusok a fejlécben megadott fájlt. Ez úgy történik, két ok miatt. Először is, a (C ++ függvények kell mind a prototípusokat. Másodszor, bár a C prototípus nem kötelező, azok használatát rektor, de ajánlott, mivel eszközt biztosít a nagyobb odafigyelést típusok. Beleértve a C programot header fájlok, amelyek megfelelnek a szabványos funkciók tsiyam-programok képes észlelni az esetleges hibák hibásan illeszkedő típusokat. például beépítése string.h (header fájl használható a sorok feldolgozási funkciók) a nizhesle-fújó kódot eredményez összeállítása során stb kapcsolatos figyelmeztetéseket:
#include
char s1 [20] = "hello";
char s2 [] = "van.";
int main (void)
int p;
p = strcat (S1, S2);
vissza 0;
>
Mivel strcat () függvény a header fájlban nyilvánították visszatér egy mutatót char, a fordító lehet regisztrálni, mint egy potenciális hiba hozzárendelését integrál-lennoy p változó értéke az index.
Szükséges megjegyezni, hogy bár az integráció számos technikailag nem kötelező fejlécek (de ajánlott), akkor be kell vonni az összes C ++ - programot. A későbbi részekben, útmutatók a függvények leírása utalják a fejlécet.
Néhány a leggyakoribb header fájlok a táblázatban felsorolt. A táblázat jelzett fájlok által meghatározott szabványos ANSI C és C ++ nyelven használható.
Táblázat: A leggyakrabban használt header fájlok
Funkciók memória dinamikus