Majelis vs DLL
Perpustakaan adalah kumpulan sumber daya yang dapat digunakan untuk mengembangkan aplikasi. Perpustakaan biasanya terdiri dari subrutin, fungsi, kelas, nilai dan jenis. Selama proses tautan (biasanya dilakukan oleh linker), perpustakaan dan executable membuat referensi satu sama lain. File DLL adalah file perpustakaan yang ditautkan secara dinamis. DLL dikembangkan oleh Microsoft. Tetapi karena beberapa masalah yang ada dengan file DLL, Microsoft datang dengan format file perakitan (dengan .Kerangka kerja bersih). File perakitan sangat mirip dengan DLL secara fisik, tetapi mereka memiliki banyak perbedaan internal.
Apa itu dll?
Dynamic Link Library (lebih dikenal sebagai DLL) adalah implementasi perpustakaan bersama yang dikembangkan oleh Microsoft. Itu menggunakan .dll, .OCX atau .Ekstensi DRV dan mereka 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 warisan. Format file DLL sama dengan file Windows EXE (file portabel yang dapat dieksekusi pada windows 32-bit/64-bit, dan Executable baru di 16bit Windows). Oleh karena itu, kombinasi kode, data, dan sumber daya apa pun dapat terkandung dalam file DLL (seperti pada file EXE). Sebagai faktanya, file data dengan format file DLL disebut DLL sumber daya. Perpustakaan Ikon (dengan .ekstensi ICL) dan file font (dengan .fon dan .Ekstensi fot) adalah contoh DLL sumber daya.
Komponen yang disebut bagian membentuk DLL dan setiap bagian memiliki atributnya sendiri seperti read-only/writable dan dapat dieksekusi/tidak dapat dieksekusi. 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. Perpustakaan dinamis utama untuk Windows adalah Kernel32.DLL, yang berisi fungsi dasar (fungsionalitas file dan memori yang terkait) di windows. Com (model objek komponen) adalah ekstensi DLL ke OOP (pemrograman berorientasi objek). DLL konvensional lebih mudah digunakan daripada file com.
Apa itu Majelis?
File perakitan diperkenalkan oleh Microsoft untuk menyelesaikan beberapa masalah yang ada dengan file DLL. File perakitan diperkenalkan dengan Microsoft .Kerangka kerja bersih. Unit fungsionalitas logis yang dapat dieksekusi disebut majelis. Majelis dapat dieksekusi di bawah .Net CLR (Runtime Bahasa Umum). 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. Majelis menggambarkan diri sendiri. Manifes berisi informasi seperti nama, versi, budaya, nama yang kuat, daftar file, jenis dan dependensi. Kode misl dieksekusi melalui CLR (tidak dapat dieksekusi secara langsung).
Apa perbedaan antara perakitan dan DLL?
DLL adalah perpustakaan yang ditautkan 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 mempertahankan konsistensi antara satu set majelis, karena rakitan menggambarkan diri sendiri (mereka berisi daftar dependensi secara internal). Tidak seperti DLL, informasi versi ditegakkan untuk majelis (oleh CLR). Penyebaran berdampingan (aplikasi yang berbeda menggunakan versi yang berbeda) dimungkinkan dengan rakitan.