Zestaw vs DLL
Biblioteka to zbiór zasobów, których można używać do tworzenia aplikacji. Biblioteka zwykle składa się z podprogramów, funkcji, klas, wartości i typów. Podczas procesu łączenia (zwykle wykonywany przez konsolidator) biblioteki i pliki wykonywalne odwołują się do siebie. Pliki DLL to pliki bibliotek, które są połączone dynamicznie. DLL został opracowany przez firmę Microsoft. Jednak z powodu pewnych problemów związanych z plikami DLL, Microsoft wymyślił format pliku Assembly (z frameworkiem. NET). Pliki zespołu są fizycznie bardzo podobne do bibliotek DLL, ale mają wiele wewnętrznych różnic.
Co to jest DLL?
Dynamic Link Library (bardziej znana jako DLL) to implementacja biblioteki współdzielonej opracowana przez firmę Microsoft. Wykorzystuje rozszerzenia.dll,.ocx lub.drv i są one używane w systemach operacyjnych Microsoft Windows i OS / 2..dll jest używany przez zwykłe pliki DLL. Rozszerzenie.ocx jest używane przez biblioteki zawierające formanty ActiveX, a rozszerzenie.drv jest używane przez starsze pliki sterowników systemowych. Format pliku DLL jest taki sam, jak plików Windows EXE (pliki Portable Executable w 32-bitowym / 64-bitowym systemie Windows i Nowy plik wykonywalny w 16-bitowym systemie Windows). Dlatego dowolna kombinacja kodu, danych i zasobów może być zawarta w plikach DLL (podobnie jak w plikach EXE). W rzeczywistości pliki danych w formacie DLL nazywane są bibliotekami DLL zasobów. Biblioteki ikon (z rozszerzeniem.icl) i pliki czcionek (z rozszerzeniami.fon i.fot) są przykładami bibliotek DLL zasobów.
Składniki zwane sekcjami tworzą bibliotekę DLL, a każda sekcja ma własne atrybuty, takie jak tylko do odczytu / zapisywalny i wykonywalny / niewykonalny. Sekcje kodu są wykonywalne, podczas gdy sekcje danych nie są wykonywalne. Sekcje kodu są udostępniane, a sekcje danych są prywatne. Oznacza to, że wszystkie procesy korzystające z biblioteki DLL będą używać tej samej kopii kodu, a każdy proces będzie miał własną kopię danych. Podstawową biblioteką dynamiczną dla systemu Windows jest kernel32.dll, która zawiera podstawowe funkcje (funkcje związane z plikami i pamięcią) w systemie Windows. COM (Component Object Model) jest rozszerzeniem DLL do OOP (programowanie obiektowe). Konwencjonalne biblioteki DLL są łatwiejsze w użyciu niż pliki COM.
Co to jest zgromadzenie?
Pliki asemblerów zostały wprowadzone przez firmę Microsoft w celu rozwiązania kilku problemów występujących w plikach DLL. Pliki zespołu zostały wprowadzone w środowisku Microsoft. NET. Wykonywalna logiczna jednostka funkcjonalności nazywana jest Assembly. Zestawy są wykonywalne w środowisku. NET CLR (Common Language Runtime). Fizycznie zestawy istnieją jako pliki EXE lub DLL. Jednak wewnętrznie różnią się one bardzo od bibliotek DLL Microsoft Win32. Plik zestawu składa się z manifestu, metadanych, MISL (kod języka Microsoft Intermediate Language) i innych zasobów. Zgromadzenie samoopisuje się. Manifest zawiera informacje, takie jak nazwa, wersja, kultura, silna nazwa, lista plików, typy i zależności. Kod MISL jest wykonywany przez CLR (nie można go wykonać bezpośrednio).
Jaka jest różnica między zestawem a biblioteką DLL?
DLL to biblioteka połączona dynamicznie. Chociaż zestawy są fizycznie równe bibliotekom DLL, różnią się wewnętrznie. Nie jest możliwe zachowanie spójności między zestawem bibliotek DLL, ale środowisko CLR może zachować spójność między zestawem zestawów, ponieważ zestawy są samoopisujące się (zawierają wewnętrznie listę zależności). W przeciwieństwie do bibliotek DLL, informacje o wersji są wymuszane dla zestawów (przez środowisko CLR). Wdrożenie równoległe (różne aplikacje używające różnych wersji) jest możliwe w przypadku zestawów.