Dll vs Lib
Perpustakaan adalah kumpulan sumber daya yang dapat digunakan untuk mengembangkan aplikasi. Perpustakaan biasanya terdiri dari subrutin, fungsi, kelas, nilai dan jenis. Selama proses tautan (biasanya dilakukan oleh linker), perpustakaan 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 ditautkan secara statis dan file DLL adalah perpustakaan yang ditautkan secara dinamis.
Apa itu dll?
Dynamic Link Library (lebih dikenal sebagai DLL) adalah implementasi perpustakaan bersama yang dikembangkan oleh Microsoft. Itu menggunakan .dll, .OCX atau .Ekstensi DRV dan mereka digunakan dalam sistem operasi Microsoft Windows dan OS/2 ... DLL digunakan oleh file DLL biasa. Dan .Ekstensi OCX digunakan oleh pustaka yang berisi kontrol ActiveX dan .Ekstensi DRV digunakan oleh file driver sistem warisan. Format file DLL sama dengan file Windows EXE (file portabel yang dapat dieksekusi pada windows 32-bit/64-bit, dan Executable baru pada Windows 16-bit). Oleh karena itu, kombinasi kode, data, dan sumber daya apa pun dapat terkandung dalam file DLL (seperti pada file EXE). Sebagai faktanya, file data dengan format file DLL disebut DLL sumber daya. Perpustakaan Ikon (dengan .ekstensi ICL) dan file font (dengan .fon dan .Ekstensi fot) adalah contoh DLL sumber daya.
Komponen yang disebut bagian membentuk DLL dan setiap bagian memiliki atributnya sendiri seperti read-only/writable dan dapat dieksekusi/tidak dapat dieksekusi. 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. Perpustakaan dinamis utama untuk Windows adalah Kernel32.DLL, yang berisi fungsi dasar (fungsionalitas file dan memori yang terkait) di windows. Com (model objek komponen) adalah ekstensi DLL ke OOP (pemrograman berorientasi objek). DLL konvensional lebih mudah digunakan daripada file com.
Apa itu lib?
File lib adalah perpustakaan statis (juga dikenal sebagai perpustakaan yang ditautkan secara statis). File LIB berisi kumpulan subrutin, fungsi eksternal dan variabel. File LIB diselesaikan pada waktu kompilasi (sebagai lawan dari run-time). Kode sebenarnya disalin ke aplikasi target. Kompiler, 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?
Perpustakaan Lib dapat dipanggil selama waktu kompilasi, tetapi perpustakaan 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 penggunaan kembali, saat menulis versi baru sistem atau aplikasi yang sama sekali baru, DLL selalu lebih baik dari LIBS.