Majelis vs DLL
Perpustakaan adalah kumpulan sumber daya yang dapat digunakan untuk mengembangkan aplikasi. 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 hadir dengan file DLL, Microsoft muncul dengan format file Assembly (dengan .NET framework). File assembly sangat mirip dengan DLL secara fisik, tetapi mereka memiliki banyak perbedaan internal.
Apa itu DLL??
Dynamic Link Library (lebih dikenal sebagai DLL) adalah implementasi shared library yang dikembangkan oleh Microsoft. Ia 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 perpustakaan yang berisi kontrol ActiveX dan ekstensi .drv digunakan oleh file driver sistem lama. Format file DLL sama dengan file EXE Windows (File Portable Executable pada Windows 32-bit / 64-bit, dan New Executable pada Windows 16bit). Oleh karena itu, setiap kombinasi kode, data, dan sumber daya dapat terkandung dalam file DLL (seperti dalam file EXE). Sebagai fakta, 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 atribut 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 menggunakan DLL akan menggunakan salinan kode yang sama, sementara setiap proses akan memiliki salinan data sendiri. Pustaka dinamis utama untuk Windows adalah kernel32.dll, yang berisi fungsi-fungsi dasar (fungsi terkait file dan memori) pada Windows. COM (Component Object Model) adalah ekstensi DLL ke OOP (Object Oriented Programming). DLL konvensional lebih mudah digunakan daripada file COM.
Apa itu Majelis?
File perakitan diperkenalkan oleh Microsoft untuk menyelesaikan beberapa masalah yang ada pada file DLL. File perakitan diperkenalkan dengan kerangka kerja Microsoft .NET. Unit fungsionalitas logis yang dapat dieksekusi disebut Majelis. Assemblies 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 rakitan terdiri dari manifes, metadata, MISL (Microsoft Intermediate Language code) dan sumber daya lainnya. Suatu majelis menggambarkan diri sendiri. Manifes berisi informasi seperti nama, versi, budaya, nama kuat, daftar file, jenis dan dependensi. Kode MISL dijalankan melalui CLR (tidak dapat langsung dieksekusi).
Apa Perbedaan antara Majelis dan DLL?
DLL adalah pustaka yang terhubung secara dinamis. Meskipun, rakitan 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 diri (mereka berisi daftar dependensi secara internal). Tidak seperti DLL, informasi versi diterapkan untuk majelis (oleh CLR). Penyebaran berdampingan (aplikasi berbeda menggunakan versi berbeda) dimungkinkan dengan majelis.