DLL vs LIB
Perpustakaan adalah kumpulan sumber daya yang dapat digunakan untuk mengembangkan aplikasi. Sebuah perpustakaan biasanya terdiri dari subrutin, fungsi, kelas, nilai dan tipe. Selama proses penautan (biasanya dilakukan oleh tautan), pustaka dan executable membuat referensi satu sama lain. File perpustakaan dibagi menjadi perpustakaan statis dan dinamis tergantung pada waktu di mana subrutin dimuat ke aplikasi target. Oleh karena itu, file LIB adalah pustaka yang ditautkan secara statis dan file DLL adalah pustaka yang ditautkan secara dinamis.
Apa itu DLL?
Perpustakaan Tautan Dinamis (lebih dikenal sebagai DLL) adalah implementasi pustaka bersama yang dikembangkan oleh Microsoft. Ini menggunakan ekstensi.dll,.ocx atau.drv dan digunakan di sistem operasi Microsoft Windows dan OS/2..dll digunakan oleh file DLL biasa. Dan ekstensi.ocx digunakan oleh perpustakaan yang berisi kontrol ActiveX dan ekstensi.drv digunakan oleh file driver sistem lama. Format file DLL sama dengan file Windows EXE (File Portable Executable pada Windows 32-bit/64-bit, dan New Executable pada Windows 16-bit). Oleh karena itu, kombinasi kode, data, dan sumber daya apa pun dapat dimuat dalam file DLL (seperti dalam file EXE). Faktanya, file data dengan format file DLL disebut DLL sumber daya. Pustaka ikon (dengan ekstensi.icl) dan file font (dengan ekstensi.fon dan.fot) adalah contoh DLL sumber daya.
Komponen yang disebut bagian membentuk DLL dan setiap bagian memiliki atributnya sendiri seperti read-only/writable dan executable/non executable. Bagian kode dapat dieksekusi, sedangkan bagian data tidak dapat dieksekusi. Bagian kode dibagikan dan bagian data bersifat pribadi. Itu berarti semua proses yang menggunakan DLL akan menggunakan salinan kode yang sama, sementara setiap proses akan memiliki salinan datanya sendiri. Pustaka dinamis utama untuk Windows adalah kernel32.dll, yang berisi fungsi dasar (fungsi terkait file dan memori) di Windows. COM (Component Object Model) adalah perpanjangan dari DLL ke OOP (Pemrograman Berorientasi Objek). DLL konvensional lebih mudah digunakan daripada file COM.
Apa itu LIB?
File LIB adalah pustaka statis (juga dikenal sebagai pustaka yang ditautkan secara statis). File LIB berisi kumpulan subrutin, fungsi dan variabel eksternal. File LIB diselesaikan pada waktu kompilasi (berlawanan dengan run-time). Kode sebenarnya disalin ke aplikasi target. Kompilator, tautan atau pengikat akan melakukan resolusi ini dan menghasilkan file objek dan file yang dapat dieksekusi. Proses ini disebut proses pembuatan statis.
Apa perbedaan antara DLL dan LIB?
LIB library dapat dipanggil selama waktu kompilasi, tetapi library DLL hanya dapat dipanggil selama run-time. File LIB secara signifikan lebih besar dari file DLL. Masalah yang sangat umum dengan file DLL adalah masalah versi. Ini terjadi ketika kode DLL diubah dan aplikasi menggunakan versi DLL yang salah. Ini bukan masalah yang terkait dengan file LIB. Dalam hal dapat digunakan kembali, saat menulis versi sistem baru atau aplikasi yang benar-benar baru, DLL selalu lebih baik daripada LIB.