Dynamic Link Library (DLL) ағылшын тілінен «динамикалық сілтемелер кітапханасы» деп аударылады. DLL - бұл жалпы кітапхананың функцияларын орындайтын, орындалатын файл. Динамикалық байланыстыру арқылы DLL орындалатын кодтың құрамына кіретін функцияны шақырудың әдісін ұсынады.
Орындалатын функция кодының өзі DLL-де орналасқан, онда бірнеше процедуралар, байланыстырылған және қолданылатын процестерде сақталған функциялар бар. DLL дереккөздер мен деректерді бөлісу процесін жеңілдетуге қызмет етеді. Бұл жүйеде орнатылған қосымшаларға бір уақытта жадқа жүктелген DLL көшірмесінің бірнеше мазмұнына қол жеткізуге мүмкіндік береді.
Модульдік кодтау - DLL-дің атасы
DLL құру бойынша жұмыстың басталуын модульдік кодтау сияқты бағдарламалау әдісінің пайда болуы деп санауға болады. Кезінде модульдік кодтау бағдарламашылардың жұмысын едәуір жеңілдетіп, әр жаңа бағдарлама үшін бірдей кодты бірнеше рет жазбауға мүмкіндік берді. Барлық қарапайым бағдарламаларда көптеген ұқсас кодтар бар, олар жаңа қосымшаларға қосып, модуль түрінде құрастыра бастады. Біраз уақытқа модульдік кодтау ең қарапайым және тиімді шешім болды және оның бір ғана кемшілігі болды. Бағдарламаларға қосылған бірдей модульдер дискілік кеңістікті алып жатты, ол сол кездерде аз болатын.
Дискілік кеңістікті бірдей модульдерде ысыраптау мәселесі жалғыз болды, ал тек бір тапсырмалы операциялық жүйелер болды. Windows сияқты көп тапсырмалы операциялық жүйелердің пайда болуымен тағы бір мәселе туындады. Енді бірдей коды бар модульдері бар бағдарламалар бір уақытта іске қосылғанда оны барлық ресурстарды «жеп», жедел жадқа жүктей бастады. Ол кезде 500 мегабайттық жады модулі өмірдегі ең үлкен модуль болғанын және ол өте қымбат болғанын айта кеткен жөн. ЖЖҚ-ның максималды өлшемі де қолданушыларды құтқармады, бағдарламалар жедел жадты толығымен жүктеді, бұл компьютердің қалыпты жұмысын мүмкін етпеді.
DLL-дің пайда болуы
Осы мәселелердің лайықты шешімі табылды, ол келесідей көрінді: бірдей кодты модульдер негізгі бағдарламамен түйісуді тоқтатты, оларды жеке орындалатын файлға сақтап қойды, оған қажет болған жағдайда кез-келген қосымша қол жеткізе алады. Кез-келген бағдарламамен динамикалық байланыстыратын DLL-дің негізін дәл осы шешім құрайды. Енді бұл кітапханаларда орындалатын кодты функциялар немесе процедуралар, графикалық бейнелер және тіпті бейнелер түрінде сақтауға болады, бұл дискілік кеңістікті және жедел жад ресурстарын үнемдеуге мүмкіндік берді.
Динамикалық сілтемелер кітапханаларының жалғыз кемшілігі - бағдарламаны жүктеуге қосымша уақытты ысыраптау. Осы кішігірім кемшіліктерден басқа, DLL тек артықшылықтардан тұрады. Сондықтан бұл кітапханалар кеңінен қолданылады және оларды бағдарламашылар барлық қосымшаларда қолданады.