DLL vs LIB
Perpustakaan adalah kumpulan sumber yang boleh digunakan untuk membangunkan aplikasi. Perpustakaan biasanya terdiri daripada subrutin, fungsi, kelas, nilai dan jenis. Semasa proses penyambungan (biasanya dilakukan oleh penyambung), perpustakaan dan executable membuat rujukan antara satu sama lain. Fail-fail perpustakaan dibahagikan kepada perpustakaan statik dan dinamik bergantung pada masa di mana subrutin dimuatkan ke aplikasi sasaran. Oleh itu, fail LIB adalah perpustakaan yang dikaitkan secara statik dan fail DLL adalah perpustakaan berkaitan secara dinamik.
Apa itu DLL?
Perpustakaan Pautan Dinamik (lebih dikenali sebagai DLL) adalah pelaksanaan pustaka bersama yang dibangunkan oleh Microsoft. Ia menggunakan pelanjutan .dll, .ocx atau .drv dan mereka digunakan dalam sistem operasi Microsoft Windows dan OS / 2 ... dll digunakan oleh fail DLL biasa. Dan sambungan .ocx digunakan oleh pustaka yang mengandungi kawalan ActiveX dan sambungan .drv digunakan oleh fail pemacu sistem warisan. Format fail DLL adalah sama seperti fail Windows EXE (fail Boleh Dijalankan Mudah Alih pada Windows 32-bit / 64-bit, dan Baru Eksekusi pada Windows 16-bit). Oleh itu, sebarang gabungan kod, data dan sumber boleh terkandung dalam fail DLL (seperti dalam fail EXE). Sebagai fakta, fail data dengan format fail DLL disebut DLL sumber. Perpustakaan ikon (dengan lanjutan .icl) dan fail fon (dengan sambungan .fon dan .fot) adalah contoh sumber DLL sumber.
Komponen yang dipanggil bahagian membuat DLL dan setiap bahagian mempunyai atribut tersendiri seperti baca-baca / boleh tulis dan laksana / tidak boleh laksana. Seksyen kod boleh laku, sementara bahagian data tidak dapat dilaksanakan. Bahagian kod dikongsi dan bahagian data adalah peribadi. Ini bermakna semua proses yang menggunakan DLL akan menggunakan salinan kod yang sama, sementara setiap proses akan mempunyai salinan sendiri data. Perpustakaan dinamik utama untuk Windows ialah kernel32.dll, yang mengandungi fungsi asas (fail dan fungsi berkaitan memori) pada Windows. COM (Model Objek Komponen) adalah lanjutan DLL ke OOP (Objek Berorientasikan Pemrograman). DLL konvensional lebih mudah digunakan daripada fail COM.
Apakah LIB itu?
Fail LIB adalah perpustakaan statik (juga dikenali sebagai perpustakaan berkaitan statik). Fail LIB mengandungi koleksi subrutin, fungsi luaran dan pembolehubah. Fail LIB diselesaikan pada masa kompilasi (berbanding dengan jangka masa). Kod ini sebenarnya disalin ke aplikasi sasaran. Pengkompil, penghubung atau pengikat akan melakukan resolusi ini dan menghasilkan fail objek dan fail boleh laku. Proses ini dipanggil proses membina statik.
Apakah perbezaan di antara DLL dan LIB??
Perpustakaan LIB boleh dipanggil semasa masa penyusunan, tetapi perpustakaan DLL hanya boleh dipanggil semasa run-time. Fail LIB jauh lebih besar daripada fail DLL. Masalah yang sangat biasa dengan fail DLL adalah masalah versi. Ini berlaku apabila kod DLL ditukar dan aplikasi itu menggunakan versi DLL yang salah. Ini bukan masalah yang berkaitan dengan fail LIB. Dari segi kebolehgunaan, apabila menulis versi sistem atau aplikasi baru yang baru, DLL sentiasa lebih baik daripada LIB.