Dynamic Link Library (DLL) англис тилинен "динамикалык шилтеме китепканасы" деп которулат. DLL - жалпы китепкананын функцияларын аткаруучу аткарылуучу файл. Динамикалык шилтеме аркылуу DLL, аткарылуучу коддун бир бөлүгү болгон функцияны чакыруунун жолун сунуштайт.
Аткарылуучу функциялардын коду өзү колдонулуп жаткан процесстерде бир нече түзүлгөн, байланышкан жана сакталган функцияларды камтыган DLLде. DLL булактарды жана маалыматтарды бөлүшүү процессин жөнөкөйлөтүү үчүн кызмат кылат. Бул тутумга орнотулган тиркемелерге бир эле учурда эстутумга жүктөлгөн DLLдин бир нускасынын бир нече мазмунуна кирүүгө мүмкүнчүлүк берет.
Модулдук коддоо - DLL файлдарынын атасы
DLL түзүү боюнча иштин башталышы модулдук коддоо сыяктуу программалоо методунун пайда болушу деп эсептесе болот. Бир кездерде модулдук кодирование программисттердин ишин бир топ жеңилдетип, ар бир жаңы программага бир эле кодду бир нече жолу жазбай коюуга мүмкүнчүлүк берген. Бардык жөнөкөй программалар көптөгөн окшош коддорду камтыйт, алар модулдар түрүндө иштеп чыгып, аларды жаңы тиркемелерге кошушат. Бир нече убакытка чейин модулдук коддоо эң жөнөкөй жана натыйжалуу чечим болуп, бир гана кемчиликке ээ болду. Программаларга кошулган бирдей модулдар диск мейкиндигин ээлеп, ошол мезгилдерде аз болгон.
Дисктеги мейкиндикти бирдей модулдарда текке кетирүү көйгөйү жалгыз эле, ал эми бир гана иштөөчү операциялык тутумдар болгон. Windows сыяктуу көп тапшырмадагы операциялык тутумдардын пайда болушу менен дагы бир көйгөй жаралды. Азыр бир эле кодго ээ модулдары бар программалар бир эле мезгилде ишке киргизилгенде, бардык ресурстарды "жеп", оперативдүү эс тутумга жүктөй башташты. Эске сала кетүүчү нерсе, ошол учурда 500 мегабайттык эс тутум модулу эң чоңу болгон жана ал кыйла кымбат болгон. Бирок оперативдик эс тутумдун максималдуу көлөмү да колдонуучуларды сактап кала алган жок, программалар оперативдик эс тутумду толугу менен жүктөп, компьютердин кадимкидей иштешин мүмкүн эмес кылды.
DLLлердин пайда болушу
Ушул көйгөйлөрдү чечүү жолу табылды, окшош: коду бирдей болгон модулдар негизги программа менен тыгыз байланышта болуп, аларды өзүнчө аткарылуучу файлга сактап, зарылчылыкка жараша каалаган колдонмо кире алат. Дал ушул чечим ар кандай программага динамикалык түрдө байланышкан DLLлердин негизин түзөт. Эми бул китепканаларда аткарылуучу коддорду функциялар же процедуралар, графика жана жада калса видео түрүндө сактоого болот, бул диск мейкиндигин жана оперативдик эс тутумдун ресурстарын үнөмдөөгө мүмкүндүк берди.
Динамикалык шилтеме китепканаларынын бирден-бир кемчилиги - бул программаны жүктөөдө ашыкча убакытты текке кетирүү. Бул кичинекей кемчиликтерден тышкары, DLL артыкчылыктардан гана турат. Ошондуктан, бул китепканалар кеңири колдонулат жана программисттер дээрлик бардык тиркемелерде колдонушат.