Perbedaan Antara DLL Dan LIB

Perbedaan Antara DLL Dan LIB
Perbedaan Antara DLL Dan LIB

Video: Perbedaan Antara DLL Dan LIB

Video: Perbedaan Antara DLL Dan LIB
Video: Tutorial 0 - Understanding Header Files, Libraries and DLLs 2024, November
Anonim

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 penaut), pustaka dan file yang dapat dieksekusi membuat referensi satu sama lain. File pustaka dibagi menjadi pustaka statis dan dinamis bergantung pada waktu saat subrutin dimuat ke aplikasi target. Karenanya, file LIB adalah pustaka yang ditautkan secara statis dan file DLL adalah pustaka yang ditautkan secara dinamis.

Apa itu DLL?

Dynamic Link Library (lebih dikenal sebagai DLL) adalah implementasi pustaka bersama yang dikembangkan oleh Microsoft. Ini 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 pustaka 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 di file EXE). Faktanya, file data dengan format file DLL disebut resource DLL. 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.

Apakah LIB itu?

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 (sebagai lawan waktu 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 proses. File LIB secara signifikan lebih besar dari file DLL. Masalah yang sangat umum dengan file DLL adalah masalah pembuatan 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 baru dari sistem atau aplikasi yang benar-benar baru, DLL selalu lebih baik daripada LIB.

Direkomendasikan: