DLL жана LIB ортосундагы айырма

DLL жана LIB ортосундагы айырма
DLL жана LIB ортосундагы айырма

Video: DLL жана LIB ортосундагы айырма

Video: DLL жана LIB ортосундагы айырма
Video: САМАЯ МОЩНАЯ СИЛА, КОТОРАЯ ДАСТ ТЕБЕ ВСЕ ❤️💰 Ронда Берн 2024, Июль
Anonim

DLL крш LIB

Китепкана бул колдонмолорду иштеп чыгуу үчүн колдонула турган ресурстардын жыйындысы. Китепкана көбүнчө подпрограммалардан, функциялардан, класстардан, баалуулуктардан жана типтерден турат. Байланыш процессинде (көбүнчө шилтеме берүүчү тарабынан аткарылат) китепканалар жана аткарылуучу файлдар бири-бирине шилтеме жасашат. Китепкана файлдары максаттуу тиркемеге подпрограммалар жүктөлгөн убакытка жараша статикалык жана динамикалык китепканаларга бөлүнөт. Демек, LIB файлдары статикалык жактан байланышкан китепканалар жана DLL файлдары динамикалык түрдө байланышкан китепканалар.

DLL деген эмне?

Dynamic Link Library (көбүнчө DLL катары белгилүү) Microsoft тарабынан иштелип чыккан жалпы китепкана ишке ашыруусу. Ал.dll,.ocx же.drv кеңейтүүлөрүн колдонот жана алар Microsoft Windows жана OS/2 операциялык системаларында колдонулат..dll кадимки DLL файлдары тарабынан колдонулат. Жана.ocx кеңейтүүсү ActiveX башкаруу элементтерин камтыган китепканалар тарабынан колдонулат, ал эми.drv кеңейтүүсү эски тутумдун драйвер файлдары тарабынан колдонулат. DLL файл форматы Windows EXE файлдары менен бирдей (32 бит/64 биттик Windows версиясында көчмө Аткарылуучу файлдар жана 16 биттик Windows версиясында Жаңы Аткарылуучу файлдар). Демек, коддун, маалыматтардын жана ресурстардын ар кандай айкалышы DLL файлдарында камтылышы мүмкүн (EXE файлдарындагыдай). Негизи, DLL файл форматындагы маалымат файлдары ресурстук DLL деп аталат. Сөлөкөт китепканалары (.icl кеңейтүүсү менен) жана шрифт файлдары (.fon жана.fot кеңейтүүлөрү менен) бул DLL-ресурстун мисалдары.

Бөлүмдөр деп аталган компоненттер DLL түзөт жана ар бир бөлүм окуу үчүн гана/жазыла турган жана аткарылуучу/аткарылбаган сыяктуу өзүнүн атрибуттарына ээ. Код бөлүмдөрү аткарылуучу, ал эми маалымат бөлүмдөрү аткарылбайт. Код бөлүмдөрү бөлүшүлгөн жана маалымат бөлүмдөрү купуя. Бул DLLди колдонгон бардык процесстер коддун бир эле көчүрмөсүн колдонот, ал эми ар бир процесс өздүк маалыматтын көчүрмөсүнө ээ болот дегенди билдирет. Windows үчүн негизги динамикалык китепкана kernel32.dll болуп саналат, ал Windows'тун базалык функцияларын (файл жана эстутумга байланыштуу функциялар) камтыйт. COM (Component Object Model) - DLLден OOP (объектке багытталган программалоо) кеңейтүүсү. Кадимки DLL файлдары COM файлдарына караганда колдонууга оңой.

LIB деген эмне?

LIB файлдары статикалык китепканалар (ошондой эле статикалык байланышкан китепканалар катары белгилүү). LIB файлдары подпрограммалардын, тышкы функциялардын жана өзгөрмөлөрдүн жыйындысын камтыйт. LIB файлдары компиляция убагында чечилет (иштөө убактысынан айырмаланып). Код иш жүзүндө максаттуу колдонмого көчүрүлөт. Компилятор, байланыштыргыч же байланыштыргыч бул резолюцияны аткарып, объект файлын жана аткарылуучу файлды чыгарат. Бул процесс статикалык куруу процесси деп аталат.

DLL менен LIB ортосунда кандай айырма бар?

LIB китепканаларын компиляция учурунда чакырса болот, бирок DLL китепканаларын иштөө учурунда гана чакырууга болот. LIB файлдары DLL файлдарынан кыйла чоңураак. DLL файлдары менен абдан кеңири таралган көйгөй версия көйгөйү болуп саналат. Бул DLL коду өзгөртүлгөндө жана колдонмо DLLдин туура эмес версиясын колдонгондо болот. Бул LIB файлдары менен байланышкан көйгөй эмес. Кайталап колдонуу мүмкүнчүлүгү боюнча, системалардын жаңы версияларын же таптакыр жаңы колдонмолорду жазганда, DLL'лер LIBге караганда ар дайым жакшыраак.

Сунушталууда: