Dynamic Link Library (DLL) diterjemahkan dari bahasa Inggeris sebagai "dynamic link library". DLL adalah fail yang boleh dilaksanakan yang menjalankan fungsi perpustakaan bersama. Melalui pautan dinamiknya, DLL menyediakan cara untuk memanggil fungsi yang merupakan sebahagian daripada kod yang dapat dilaksanakan.
Kod fungsi yang boleh dilaksanakan itu sendiri terdapat dalam DLL, yang mengandungi beberapa fungsi yang disusun, dihubungkan dan disimpan dalam proses yang sedang digunakan. DLL berfungsi untuk mempermudah proses perkongsian sumber dan data. Ini membolehkan aplikasi yang dipasang pada sistem mengakses pelbagai kandungan satu salinan DLL yang dimuat ke dalam memori pada masa yang sama.
Pengekodan modular - nenek moyang DLL
Permulaan kerja pembuatan DLL dapat dianggap sebagai kemunculan kaedah pengaturcaraan seperti pengekodan modular. Pada satu masa, pengekodan modular sangat memudahkan kerja pengaturcara, memungkinkan untuk tidak menulis kod yang sama untuk setiap program baru beberapa kali. Semua program mudah mengandungi banyak kod yang serupa, yang mula mereka bentuk dalam bentuk modul, menambahkannya ke aplikasi baru. Untuk sementara waktu, pengekodan modular adalah penyelesaian termudah dan paling berkesan dan hanya mempunyai satu kekurangan. Modul yang sama yang ditambahkan ke program memakan ruang cakera, yang jarang berlaku pada masa itu.
Masalah membuang ruang cakera pada modul yang sama adalah satu-satunya, sementara hanya ada sistem operasi tugas tunggal. Dengan munculnya sistem operasi multitasking seperti Windows, masalah lain timbul. Kini program dengan modul dengan kod yang sama, ketika diluncurkan secara serentak, mulai memuatkannya ke dalam RAM, "memakan" semua sumber daya. Perlu diingat bahawa pada masa itu, modul memori 500 megabait adalah yang terbesar yang ada dan ia cukup mahal. Tetapi walaupun ukuran maksimum RAM tidak menyelamatkan pengguna, program memuatkan RAM sepenuhnya, menjadikan operasi komputer tidak mungkin dilakukan.
Kemunculan DLL
Satu penyelesaian yang baik untuk masalah ini telah dijumpai, seperti ini: modul dengan kod yang sama berhenti menggunakan program utama, menyimpannya ke dalam fail yang boleh dilaksanakan yang terpisah, yang dapat diakses oleh aplikasi apa pun yang diperlukan. Penyelesaian inilah yang menjadi asas DLL yang menghubungkan secara dinamik ke mana-mana program. Sekarang mungkin untuk menyimpan kod yang dapat dieksekusi di perpustakaan ini dalam bentuk fungsi atau prosedur, grafik dan bahkan video, yang memungkinkan untuk menjimatkan ruang cakera dan sumber RAM.
Satu-satunya kelemahan perpustakaan pautan dinamik adalah membuang masa tambahan untuk memuatkan program ini. Sebagai tambahan kepada kelemahan kecil ini, DLL terdiri daripada kelebihan sahaja. Oleh itu, perpustakaan ini banyak digunakan dan digunakan oleh pengaturcara dalam hampir setiap aplikasi.