DLL vs LIB
Perpustakaan adalah kumpulan sumber daya yang dapat digunakan untuk mengembangkan aplikasi. 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. Dengan demikian, file LIB adalah perpustakaan yang terhubung secara statis dan file DLL adalah perpustakaan yang terhubung secara dinamis.
Apa itu DLL??
Dynamic Link Library (lebih dikenal sebagai DLL) adalah implementasi shared library yang dikembangkan oleh Microsoft. Ia menggunakan ekstensi .dll, .ocx atau .drv dan digunakan dalam 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 EXE Windows (File Portable Executable pada Windows 32-bit / 64-bit, dan New Executable pada Windows 16-bit). Oleh karena itu, setiap kombinasi kode, data, dan sumber daya dapat terkandung dalam file DLL (seperti dalam file EXE). Sebagai fakta, 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 atribut 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 menggunakan DLL akan menggunakan salinan kode yang sama, sementara setiap proses akan memiliki salinan data sendiri. Pustaka dinamis utama untuk Windows adalah kernel32.dll, yang berisi fungsi-fungsi dasar (fungsi terkait file dan memori) pada Windows. COM (Component Object Model) adalah ekstensi DLL ke OOP (Object Oriented Programming). DLL konvensional lebih mudah digunakan daripada file COM.
Apa itu LIB??
File LIB adalah pustaka statis (juga dikenal sebagai pustaka yang terhubung secara statis). File LIB berisi kumpulan subrutin, fungsi eksternal, dan variabel. File LIB diselesaikan pada waktu kompilasi (sebagai lawan run-time). Kode sebenarnya disalin ke aplikasi target. Compiler, linker atau binder akan melakukan resolusi ini dan menghasilkan file objek dan file yang dapat dieksekusi. Proses ini disebut proses build statis.
Apa perbedaan antara DLL dan LIB?
Pustaka LIB dapat dipanggil selama waktu kompilasi, tetapi pustaka DLL hanya dapat dipanggil selama waktu berjalan. 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 sama sekali baru, DLL selalu lebih baik daripada LIBs.