Perakitan vs DLL
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 tautan), pustaka dan executable membuat referensi satu sama lain. File DLL adalah file perpustakaan yang ditautkan secara dinamis. DLL dikembangkan oleh Microsoft. Tetapi karena beberapa masalah dengan file DLL, Microsoft membuat format file Majelis (dengan kerangka. NET). File assembly sangat mirip dengan DLL secara fisik, tetapi memiliki banyak perbedaan internal.
Apa itu DLL?
Perpustakaan Tautan Dinamis (lebih dikenal sebagai DLL) adalah implementasi pustaka bersama yang dikembangkan oleh Microsoft. Ini menggunakan ekstensi.dll,.ocx atau.drv dan digunakan di 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 Windows EXE (File Portable Executable pada Windows 32-bit/64-bit, dan New Executable pada Windows 16bit). Oleh karena itu, kombinasi kode, data, dan sumber daya apa pun dapat dimuat dalam file DLL (seperti dalam file EXE). Faktanya, 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 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.
Apa itu Majelis?
File Assembly diperkenalkan oleh Microsoft untuk memecahkan beberapa masalah yang ada dengan file DLL. File perakitan diperkenalkan dengan kerangka kerja Microsoft. NET. Unit fungsionalitas logis yang dapat dieksekusi disebut Majelis. Rakitan dapat dieksekusi di bawah. NET CLR (Common Language Runtime). Secara fisik, rakitan ada sebagai file EXE atau DLL. Tapi, mereka sangat berbeda dengan Microsoft Win32 DLL, secara internal. File perakitan terdiri dari manifes, metadata, MISL (Microsoft Intermediate Language code) dan sumber daya lainnya. Sebuah perakitan menggambarkan dirinya sendiri. Manifes berisi informasi seperti nama, versi, budaya, nama kuat, daftar file, jenis, dan dependensi. Kode MISL dijalankan melalui CLR (tidak dapat dieksekusi secara langsung).
Apa Perbedaan antara Majelis dan DLL?
DLL adalah pustaka yang terhubung secara dinamis. Meskipun, majelis secara fisik sama dengan DLL, mereka sangat berbeda secara internal. Tidak mungkin untuk mempertahankan konsistensi antara satu set DLL, tetapi CLR dapat menjaga konsistensi antara satu set rakitan, karena rakitan menggambarkan dirinya sendiri (mereka berisi daftar dependensi secara internal). Tidak seperti untuk DLL, informasi versi diberlakukan untuk rakitan (oleh CLR). Penerapan berdampingan (aplikasi berbeda menggunakan versi berbeda) dimungkinkan dengan rakitan.