c libraries how install
Tento výukový program C ++ Libraries vysvetlí, čo sú knižnice v C ++, ich typy spolu s inštaláciou a používaním štandardnej knižnice C ++:
Knižnica môže byť definovaná ako balík kódu alebo funkcií, ktoré sú opakovane použiteľné. Rôzne aplikácie môžu opakovane používať tú istú knižnicu. Tým, že máme knižnice, dosiahneme opätovnú použiteľnosť, t. J. Jeden z princípov objektovo orientovaného programovania.
Napríklad, matematické funkcie ako sin, cos, tan, abs atď. je možné vytvoriť z knižnice. Týmto spôsobom nemusíme tieto funkcie písať znova a znova pre každú aplikáciu. Môžeme len odkázať na knižnicu a znova použiť kód v našich aplikáciách.
=> Navštívte tu a naučte sa C ++ od nuly.
Čo sa dozviete:
Knižnice C ++
Knižnica C ++ zvyčajne pozostáva z:
Hlavičkový súbor: Toto definuje funkčnosť, ktorú knižnica ponúka.
Predkompilovaný binárny súbor: Tento súbor obsahuje skutočnú implementáciu tejto funkcie. Táto implementácia je predkompilovaná do strojového jazyka.
Knižnice sú predkompilované, pretože nie je dôvod ich prekompilovať, pretože sa takmer nemenia. Po druhé, pretože predkompilované knižnice sú do strojového jazyka, sú zabezpečené, pretože k nim nemá nikto priamy prístup. Takto sú knižnice zabezpečené.
V jazyku C ++ máme dva typy knižníc:
- Statické knižnice
- Dynamické knižnice
Statické knižnice
Statické knižnice sa tiež nazývajú archívy. Statická knižnica je knižnica, ktorá sa stáva súčasťou spustiteľného súboru, ktorý na neho odkazuje. Keď teda vyvíjame aplikáciu a odkazujeme na ňu v statickej knižnici, obsah statickej knižnice sa v aplikácii nahradí.
Statické knižnice v systéme Windows majú zvyčajne príponu „.lib“, zatiaľ čo tie v systéme Linux majú príponu „.a“ (alebo archív).
ako zobraziť súbory bin na android
Jednou z výhod statickej knižnice s odkazom na program je, že nemusíme distribuovať statickú knižnicu spolu so spustiteľným súborom. Je to tak preto, lebo obsah statickej knižnice je súčasťou aplikácií a nie je potrebné ju uvádzať osobitne.
Táto konkrétna výhoda vedie k nevýhode, pretože spustiteľný súbor sa môže stať objemným a zbytočne veľa miesta, pretože knižnica je súčasťou spustiteľného súboru.
Ďalšou nevýhodou statickej knižnice je, že ak sa zmení statická knižnica, je potrebné aktualizovať aj spustiteľný súbor odkazujúci na ňu.
Dynamické knižnice
Dynamická knižnica je tiež známa ako „zdieľaná knižnica“. Vo Windows má dynamická knižnica príponu „.dll“ (dynamicky prepojená knižnica). V systéme Linux má dynamická knižnica príponu „.so“ (zdieľaný objekt).
Dynamická knižnica je knižnica, ktorá pozostáva z rutín, ktoré sa načítajú do aplikácie za behu programu. Keď aplikácia odkazuje na dynamickú knižnicu, potom sa knižnica nestane súčasťou aplikácie, ale zostane ako samostatná jednotka.
Dynamická knižnica má výhodu v tom, že jednu kópiu knižnice možno zdieľať v mnohých aplikáciách, čo šetrí miesto. Ďalšou výhodou je, že keďže je dynamická knižnica samostatnou jednotkou, spustiteľný súbor aplikácie sa pri zmene dynamickej knižnice nezmení.
Jedinou nevýhodou dynamickej knižnice je, že vyžaduje samostatný program na načítanie a odkazovanie na knižnicu, čo môže byť ťažkopádne. Na vyriešenie tohto problému používame rutinu „import knižnice“.
An importná knižnica je mechanizmus, ktorý načíta a automaticky použije dynamickú knižnicu do programu. Vo Windows uchováva knižnica importu malú statickú knižnicu (.lib) s rovnakým názvom ako súbor .dll a je prepojená s programom v čase kompilácie.
Akonáhle je to hotové, dynamická knižnica sa použije, akoby to bola statická knižnica. V operačnom systéme Linux funguje dynamická knižnica alebo súbor zdieľaného objektu (.so) ako knižnica importu aj ako dynamická knižnica. Väčšina linkerov v systéme Linux OS je schopná vytvoriť importnú knižnicu pre dynamickú knižnicu.
Ako inštalovať a používať knižnice C ++
Pozrime sa na niektoré kroky, ktoré musíme podniknúť pri inštalácii týchto knižníc a pri ich použití v našej aplikácii.
# 1) Získanie knižnice
Aby sme mohli knižnicu používať v našej aplikácii, musíme si najskôr knižnicu zaobstarať. Knižnica môže byť predkompilovaná - v takom prípade si stačí stiahnuť knižnicu pre operačný systém. Ak knižnica nie je predkompilovaná, musíme si stiahnuť zdrojový kód a skompilovať ho na našom počítači.
V oknách majú knižnice zvyčajne príponu .zip, zatiaľ čo v operačnom systéme Linux je knižničný balík distribuovaný ako „.RPM“.
# 2) Nainštalujte knižnicu
Ďalším krokom, keď knižnicu získame, je inštalácia knižnice. Inštalácia vo Windows je rovnako jednoduchá ako rozbalenie obsahu knižnice v priečinku. V systéme Linux môžeme na inštaláciu knižnice vyvolať správcu balíkov.
# 3) Zahrňte cestu ku knižnici pre prekladač
Musíme nastaviť cestu knižnice, aby kompilátor vedel, kde má hľadať súbory knižnice. Môže to byť adresár „include“ v systéme Windows alebo „/ usr / include“ v systéme Linux.
# 4) Prepojte cestu knižnice
Tento krok sa vykonáva tak, aby linker poznal presnú cestu knižníc, ktoré musí prepojiť počas procesu prepájania. Spravidla je v systéme Windows priečinok „/ lib“ alebo v systéme Linux priečinok „/ usr / lib“, ktorý obsahuje všetky knižnice.
Po nainštalovaní knižnice kompilátor a prepojovací program poznajú cestu, ktorú má knižnica používať, a knižnica je pripravená na použitie. V našom programe sa môžeme odvolať na funkcionalitu knižnice a keďže sme do nášho programu zahrnuli hlavičkové súbory, kompilátor bude schopný zostaviť túto funkcionalitu.
Pretože programátori väčšinou používajú na vývoj IDE, cestu ku knižnici určujeme v samotnom IDE.
Štandardné hlavičky / knižnice v C ++
Poďme si predstaviť niekoľko štandardných hlavičiek alebo knižníc, ktoré jazyk C ++ používa. O týchto hlavičkách sme už diskutovali v príslušných témach v našich výukových programoch C ++.
C Štandardná knižnica
Norma ANSI C špecifikuje C štandardná knižnica alebo libc , ktorá funguje ako štandardná knižnica pre programovací jazyk C. C ++ obsahuje každú hlavičku zo štandardnej knižnice C pod iným názvom tak, že na začiatok pridá „c“ a na konci odstráni „.h“. Záhlavie xxx.h v jazyku C sa teda v štandarde C ++ zmení na „cxxx“.
Štandardná knižnica C poskytuje okrem iného funkcie súvisiace s makrami, manipuláciou s reťazcami, matematickými výpočtami, definíciami typov, spracovaním vstupov a výstupov, správou pamäte atď.
Skontrolujte tu pre viac informácií o C Standard Library.
všeobecne
Všeobecná knižnica C ++ obsahuje nasledujúce hlavičky, ako je uvedené nižšie.
Názov hlavičky | Popis |
---|---|
Definuje funkčnosť pre n-ticu. K dispozícii od C ++ 11 a novších. | |
Algoritmy používané mnohými kontajnermi sú definované v tejto hlavičke. | |
Zahŕňa časové prvky ako std :: chrono :: time_point, std :: chrono :: trvanie a hodiny. | |
Táto hlavička poskytuje objekty funkcií, ktoré sa majú použiť so všeobecnými algoritmami. | |
Obsahuje triedy a šablóny pre iterátory. | |
Definuje funkčnosť správy pamäte v C ++. | |
Definuje štandardné triedy výnimiek vrátane std :: logic_error a std :: runtime_error, obe odvodené od std :: výnimky. | |
V tejto hlavičke sú definované triedy šablón ako std :: pair atď. Alebo menné priestory ako std :: rel_ops. |
Prúdy a vstup / výstup
Názov hlavičky | Popis |
---|---|
Obsahuje funkčnosť triedy šablón std :: ostream a ďalších podporných tried pre výstup. | |
Poskytuje funkcie pre súborovo založený vstup-výstup. | |
Obsahuje funkcie pre výstupné formátovanie, ako je presnosť, základňa atď. | |
Obsahuje základné funkcie pre iostream operácie. | |
Poskytuje dopredu deklarácie niekoľkých šablón tried týkajúcich sa I / O. | |
Poskytuje základy vstupu a výstupu v C ++. | |
Obsahuje funkcie triedy šablón std :: istream a ďalších podporných tried pre vstup. | |
Definuje triedu šablóny std :: stringstream a ďalšie podporné triedy používané na manipuláciu s reťazcami. | |
Obsahuje funkcie na čítanie a zápis do / z určitých typov postupností znakov, ako sú externé súbory alebo reťazce. |
Jazyková podpora
Meno-z-hlavičky | Popis |
---|---|
Implementuje funkčnosť pre std :: queue, front s jedným koncom a std :: priority_queue, prioritný front. | |
Táto hlavička obsahuje rôzne typy a funkcie na spracovanie výnimiek, vrátane základnej triedy pre všetky výnimky, std :: exception. | |
Táto hlavička obsahuje triedu šablóny std :: numeric_limits používanú na opis základných numerických vlastností | |
Obsahuje nové operátory a mazanie a ďalšie funkcie súvisiace so základmi správy pamäte C ++. | |
Poskytuje vybavenie pre prácu s informáciami o type run-time C ++. |
Struny
Názov hlavičky | Popis |
---|---|
Táto hlavička obsahuje štandardné triedy reťazcov a šablóny v C ++. | |
Toto je nové v C ++ 11. Poskytuje pomocné programy pre reťazce zodpovedajúce vzorkám pomocou regulárnych výrazov. |
Lokalizácia
Meno-z-hlavičky | Popis |
---|---|
Táto hlavička má miestne funkcie. Definuje triedy a deklaruje funkcie, ktoré zapuzdrujú a manipulujú s informáciami špecifickými pre miestne nastavenie. | |
Obsahuje fazety na prevod kódu pre rôzne kódovania znakov. |
Kontajnery
Meno-z-hlavičky | Popis |
---|---|
Obsahuje funkcie pre std :: array, kontajner pre pole pevnej veľkosti. Nový prírastok v C ++ 11 a TR1. | |
Špecializovaná trieda kontajnera std :: bitset, bitové pole. | |
Obsahuje funkčnosť pre std :: deque, obojstranný front. | |
Hlavička pre std :: forward_list, samostatne prepojený zoznam. Nový prírastok v C ++ 11 a TR1. | |
Obsahuje funkcie pre std :: list, dvojnásobne prepojený zoznam. | |
Obsahuje funkcie pre std :: map a std :: multimap, zoradené asociatívne pole a multimapu. | |
Má hlavičku pre std :: set a std :: multiset, zoradené asociatívne kontajnery alebo sady. | |
Poskytuje kontajnerový adaptér triedy std :: stack, zásobník. | |
Táto hlavička obsahuje funkcie std :: unordered_map a std :: unordered_multimap, hašovacie tabuľky. Nové v jazykoch C ++ 11 a TR1. | |
Poskytuje funkcie pre std :: unordered_set a std :: unordered_multiset. Nové v jazykoch C ++ 11 a TR1. | |
Poskytuje funkcie pre dynamické pole std :: vector. |
Knižnica podpory vlákien
Názov hlavičky | Popis |
---|---|
Nová trieda a priestor názvov pre prácu s vláknami od C ++ 11 a novších. | |
Nový prírastok v C ++ 11 a novších verziách. Poskytuje mutexy, zámky, jednorazové volanie atď., Čo sú všetky mechanizmy vzájomného vylúčenia. | |
Obsahuje funkcie pre premenné Podmienky, ktoré poskytujú synchronizačné primitívy používané na blokovanie vlákna, kým nie je upozornené iným vláknom, že je splnená nejaká podmienka, alebo kým nedosiahne systémový čas. Nový prírastok pre C ++ 11 a novšie verzie. | |
Táto hlavička obsahuje komponenty, ktoré program C ++ môže použiť na získanie v jednom vlákne, a výsledok (hodnotu alebo výnimku) z funkcie, ktorá bola spustená v rovnakom vlákne alebo inom vlákne. |
Numerická knižnica
Názov hlavičky | Popis |
---|---|
Hlavička popisuje rôzne funkcie na reprezentáciu a manipuláciu so zložitými číslami. Má tiež šablónu triedy pre komplexné čísla | |
Funkčnosť na generovanie (pseudo) náhodných čísel | |
Táto hlavička obsahuje - päť šablón tried (valarray, slice_array, gslice_array, mask_array a nepriamy_array), - dve triedy (plátok a gslice), - Séria súvisiacich šablón funkcií na zastupovanie a manipuláciu s radmi hodnôt. | |
Obsahuje všeobecné číselné operácie. |
Záver
Podrobne sme diskutovali o knižniciach C ++ spolu s ich typmi a krokmi na inštaláciu a nastavenie knižnice.
Dozvedeli sme sa, že štandardná knižnica C ++ obsahuje rôzne hlavičky, ktoré poskytujú rôzne funkcie. Tieto štandardné hlavičky knižníc môžeme použiť na vývoj rôznych aplikácií v C ++.
=> Skontrolujte VŠETKY výukové programy pre C ++ tu.
Odporúčané čítanie
- Funkcie knižnice v C ++
- Knižnica štandardných šablón (STL): Stručný úvod
- Kompletný prehľad jazyka C ++
- 70+ NAJLEPŠÍCH návodov pre C ++ Naučte sa programovanie v C ++ ZDARMA
- Formátovanie I / O: printf, sprintf, scanf Funkcie v C ++
- Základné operácie vstupu / výstupu v C ++
- Funkcie reťazca v C ++: getline, podreťazec, dĺžka reťazca a ďalšie