Դինամիկ հղումների գրադարանը (DLL) անգլերենից թարգմանվում է որպես «դինամիկ հղումների գրադարան»: DLL- ը գործարկվող ֆայլ է, որը կատարում է ընդհանուր գրադարանի գործառույթները: Իր դինամիկ կապակցությամբ DLL- ն ապահովում է գործառույթ զանգահարելու միջոց, որը մաս է կազմում գործարկվող կոդին:
Գործարկվող գործառույթի ծածկագիրը ինքնին գտնվում է DLL- ով, որը պարունակում է մի քանի կազմված, կապակցված և պահված գործառույթներ օգտագործվող գործընթացներում: DLL- ը ծառայում է աղբյուրների և տվյալների փոխանակման գործընթացը պարզեցնելու գործընթացին: Այն թույլ է տալիս համակարգում տեղադրված ծրագրերին միաժամանակ մուտք գործել հիշողության մեջ բեռնված DLL- ի մեկ օրինակի բազմաթիվ բովանդակություն:
Մոդուլային կոդավորում - DLL- ների նախահայր
DLL ստեղծման աշխատանքների սկիզբը կարելի է համարել այնպիսի ծրագրավորման մեթոդի ի հայտ գալ, ինչպիսին է մոդուլային կոդավորումը: Ամանակին, մոդուլային կոդավորումը մեծապես նպաստեց ծրագրավորողների աշխատանքին ՝ հնարավոր դարձնելով մի քանի անգամ միևնույն կոդը չգրել յուրաքանչյուր նոր ծրագրի համար: Բոլոր պարզ ծրագրերը պարունակում են բազմաթիվ նմանատիպ ծածկագրեր, որոնք նրանք սկսեցին մշակել մոդուլների տեսքով ՝ դրանք ավելացնելով նոր ծրագրերին: Որոշ ժամանակ մոդուլային կոդավորումը ամենապարզ և ամենաարդյունավետ լուծումն էր և ուներ միայն մեկ թերություն: Programsրագրերին ավելացված նույնական մոդուլները զբաղեցնում էին սկավառակի տարածքը, որն այդ օրերին սակավ էր:
Միանման մոդուլների վրա սկավառակի տարածքը վատնելու խնդիրը միակն էր, մինչդեռ կային միայն մեկ առաջադրանք ունեցող գործառնական համակարգեր: Windows- ի նման բազմաբնույթ գործառնական համակարգերի ի հայտ գալով `մեկ այլ խնդիր առաջացավ: Այժմ նույն կոդով մոդուլներով ծրագրերը, միաժամանակ գործարկվելով, այն սկսեցին բեռնել RAM- ի մեջ ՝ «ուտելով» բոլոր ռեսուրսները: Հարկ է նշել, որ այդ ժամանակ 500 մեգաբայթ հիշողությամբ մոդուլն ամենամեծն էր գոյություն ունեցող և բավականին թանկ: Բայց նույնիսկ RAM- ի առավելագույն չափը չի խնայել օգտվողներին, ծրագրերը ամբողջությամբ բեռնեցին RAM- ը ՝ անհնար դարձնելով համակարգչի բնականոն աշխատանքը:
DLL- ների առաջացումը
Գտնվել է այս խնդիրների պատշաճ լուծում, այն կարծես սա է. Նույն կոդով մոդուլները դադարել են խարսխվել հիմնական ծրագրի հետ ՝ դրանք պահելով առանձին գործարկվող ֆայլի մեջ, որին անհրաժեշտության դեպքում կարող են մուտք գործել ցանկացած դիմում: Հենց այս լուծումն է, որ կազմում է DLL- ների հիմքը, որոնք դինամիկորեն կապվում են ցանկացած ծրագրի հետ: Այժմ այս գրադարաններում հնարավոր է պահել գործարկվող ծածկագիր գործառույթների կամ ընթացակարգերի, գրաֆիկայի և նույնիսկ տեսանյութերի տեսքով, ինչը հնարավորություն տվեց խնայել սկավառակի տարածքը և RAM ռեսուրսները:
Դինամիկ հղումների գրադարանների միակ թերությունը ծրագիրը բեռնելու լրացուցիչ ժամանակի վատնումն է: Բացի այս չնչին թերությունից, DLL- ն բաղկացած է միայն առավելություններից: Հետեւաբար, այս գրադարանները լայնորեն օգտագործվում են և օգտագործվում են ծրագրավորողների կողմից գրեթե բոլոր ծրագրերում: