Kuo skiriasi DLL, bibliotekos failas ir antraštės failas?


Atsakymas 1:

Antraštės failas yra paprastas kodas. Norėdami sudaryti failų prieštaravimus, naudotumėte kompiliatorių.

Bibliotekos failas yra sudaromas kodas, surenkamas kaip objekto failų krūva į vieną bibliotekos failą. Kai linkeris pradeda viską susieti, jie tampa galutinio produkto dalimi.

DLL yra baigtas projektas, visiškai baigtas kompiliuoti ir paruoštas vykdyti. Tai tiesiog nėra tiesiogiai vykdoma, bet pasikliauja kitais projektais.

Vykdomiesiems kompiuteriams pirmiausia reiktų sudaryti antraštes, pirmiausia susieti bibliotekas, tačiau jos gali tiesiogiai vykdyti DLL.


Atsakymas 2:

DLL yra dinaminio įkėlimo biblioteka - tai konkretaus tipo failas, esantis MS Windows sistemoje, leidžiantis programai įkelti biblioteką vykdymo metu.

Bibliotekos failas yra tiesiog bendras terminas, apimantis daugybę skirtingų dvejetainių failų tipų skirtingose ​​operacinėse sistemose, įskaitant .so arba ELF failą „Linux“, .dll „Windows“ ir .dylib „MacOS“ ir kitose; kur visi šie failai yra bibliotekos, prieinamos sistemoms veikiančioms programoms. Antraštės failas yra kūrimo sistemos tekstinis failas, kuris gali būti naudojamas aprašyti bibliotekos turinį, kad kompiliatorius galėtų paruošti sugeneruotą kodą, kad programa galėtų naudoti atitinkamą biblioteką. Antraštės failai dažniausiai siejami su C / C ++ kalbomis.


Atsakymas 3:

Kuo skiriasi DLL, bibliotekos failas ir antraštės failas?

DLL reiškia „Windows“ sistemos bendrąją biblioteką, kurią jie nurodo „Dynamic Link Library“. Bendrai naudojama biblioteka nėra susieta su programos vykdomuoju failu. Vietoj to, programoje yra strypas, kuris naudojamas įkelti biblioteką vykdymo metu. Tai turi trys privalumai:

  1. Kiekvienas vykdomasis failas, kuriame nurodoma tam tikra biblioteka, yra mažesnis, todėl sutaupoma šiek tiek vietos diske, atsisiuntimų dydis ir tt. Bibliotekos kodas gali būti bendrinamas vykdymo metu tarp procesų, sumažinant atminties pėdsaką, jei jį naudoja kelios programos. Bendrinamas bibliotekas galima atnaujinti. nepriklausomai nuo juos naudojančių vykdomųjų programų, jei sąsaja nesikeičia.

Bibliotekos failas gali būti arba DLL (arba bendras objektas „Unix“ / „Linux“ sistemose), arba statinė biblioteka. Statinės bibliotekos susiejamos su vykdomosiomis programomis, kurios jas naudoja. Tai yra, kodas, kurį jie naudoja iš bibliotekos, nukopijuojamas į vykdomąjį failą, kai jis yra pastatytas.

Antraštės failas yra C arba C ++ kodo failas. Nors į sukurtas antraštes galite įdėti bet kurį norimą kodą, paprastai juose yra deklaracijos, o ne diegimai. Ši linija kertama naudojant C ++ įterptas funkcijas ir šablonus. Priešingu atveju turėtumėte laikytis deklaracijų, bet ne antraštės failų apibrėžimų. Tai yra būdas deklaracijas sudėti į vieną vietą, kad visas kodas, kuriame naudojamos tam tikros funkcijos, galėtų naudoti tas pačias deklaracijas, o ne kopijuoti jas į kiekvieną failą, kuriame jos yra naudojamos.