DLL vs LIB
Perpustakaan adalah kumpulan sumber yang dapat digunakan untuk mengembangkan aplikasi. Perpustakaan biasanya terdiri dari subrutin, fungsi, kelas, nilai dan jenis. Semasa proses penghubung (biasanya dilakukan oleh penghubung), perpustakaan dan eksekutif dapat merujuk satu sama lain. Fail perpustakaan dibahagikan kepada perpustakaan statik dan dinamik bergantung pada masa subrutin dimuat ke aplikasi sasaran. Oleh itu, fail LIB adalah perpustakaan yang dihubungkan secara statik dan fail DLL adalah perpustakaan yang dihubungkan secara dinamik.
Apa itu DLL?
Dynamic Link Library (lebih dikenali sebagai DLL) adalah pelaksanaan perpustakaan bersama yang dikembangkan oleh Microsoft. Ia menggunakan sambungan.dll,.ocx atau.drv dan ia digunakan dalam sistem operasi Microsoft Windows dan OS / 2..dll digunakan oleh fail DLL biasa. Sambungan.ocx digunakan oleh perpustakaan yang mengandungi kawalan ActiveX dan sambungan.drv digunakan oleh fail pemacu sistem lama. Format fail DLL sama dengan fail Windows EXE (Fail Boleh Dilaksanakan Portable pada Windows 32-bit / 64-bit, dan Pelaksanaan Baru pada Windows 16-bit). Oleh itu, sebarang kombinasi kod, data dan sumber boleh terdapat dalam fail DLL (seperti dalam fail EXE). Sebagai fakta, fail data dengan format fail DLL disebut DLL sumber. Perpustakaan ikon (dengan sambungan.icl) dan fail fon (dengan sambungan.fon dan.fot) adalah contoh DLL sumber.
Komponen yang disebut bahagian membentuk DLL dan setiap bahagian mempunyai atribut tersendiri seperti hanya baca / boleh ditulis dan boleh dilaksanakan / tidak boleh dilaksanakan. Bahagian kod boleh dilaksanakan, sementara bahagian data tidak dapat dilaksanakan. Bahagian kod dikongsi dan bahagian data adalah peribadi. Ini bermaksud semua proses menggunakan DLL akan menggunakan salinan kod yang sama, sementara setiap proses akan mempunyai salinan data sendiri. Perpustakaan dinamik utama untuk Windows adalah kernel32.dll, yang mengandungi fungsi asas (fungsi berkaitan fail dan memori) pada Windows. COM (Model Objek Komponen) adalah peluasan DLL ke OOP (Pengaturcaraan Berorientasikan Objek). DLL konvensional lebih mudah digunakan daripada fail COM.
Apa itu LIB?
Fail LIB adalah perpustakaan statik (juga dikenali sebagai perpustakaan berangkai secara statik). Fail LIB mengandungi kumpulan subrutin, fungsi luaran dan pemboleh ubah. Fail LIB diselesaikan pada waktu kompilasi (berbanding dengan masa berjalan). Kod sebenarnya disalin ke aplikasi sasaran. Penyusun, penghubung atau pengikat akan melakukan resolusi ini dan menghasilkan fail objek dan fail yang boleh dilaksanakan. Proses ini dipanggil proses membina statik.
Apakah perbezaan antara DLL dan LIB?
Perpustakaan LIB boleh dipanggil semasa waktu kompilasi, tetapi perpustakaan DLL hanya boleh dipanggil semasa waktu berjalan. Fail LIB jauh lebih besar daripada fail DLL. Masalah yang sangat biasa dengan fail DLL adalah masalah versi. Ini berlaku apabila kod DLL diubah dan aplikasi menggunakan versi DLL yang salah. Ini bukan masalah yang berkaitan dengan fail LIB. Dari segi penggunaan semula, semasa menulis versi sistem baru atau aplikasi yang sama sekali baru, DLL selalu lebih baik daripada LIB.