Różnica między zespołem a biblioteką DLL

Różnica między zespołem a biblioteką DLL
Różnica między zespołem a biblioteką DLL

Wideo: Różnica między zespołem a biblioteką DLL

Wideo: Różnica między zespołem a biblioteką DLL
Wideo: Niezwykly Swiat - Niemcy - Wuppertal - Podwieszana kolej cz. 2 2024, Lipiec
Anonim

Montaż a biblioteka 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 linkowania (zazwyczaj wykonywanego przez linker) biblioteki i pliki wykonywalne odwołują się do siebie. Pliki DLL to pliki bibliotek, które są połączone dynamicznie. DLL został opracowany przez Microsoft. Ale ze względu na pewne problemy 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 kontrolki ActiveX, a rozszerzenie.drv jest używane przez starsze pliki sterowników systemowych. Format pliku DLL jest taki sam jak pliki Windows EXE (przenośne pliki wykonywalne w 32-bitowym/64-bitowym systemie Windows i nowy plik wykonywalny w 16-bitowym systemie Windows). Dlatego w plikach DLL (tak jak w plikach EXE) może być zawarta dowolna kombinacja kodu, danych i zasobów. W rzeczywistości pliki danych w formacie DLL są nazywane bibliotekami zasobów DLL. Biblioteki ikon (z rozszerzeniem.icl) i pliki czcionek (z rozszerzeniami.fon i.fot) są przykładami bibliotek DLL zasobów.

Komponenty zwane sekcjami tworzą bibliotekę DLL, a każda sekcja ma swoje własne atrybuty, takie jak tylko do odczytu/zapisu i wykonywalny/niewykonywalny. Sekcje kodu są wykonywalne, podczas gdy sekcje danych nie są wykonywalne. Sekcje kodu są współużytkowane, a sekcje danych są prywatne. Oznacza to, że wszystkie procesy korzystające z biblioteki DLL będą używać tej samej kopii kodu, podczas gdy każdy proces będzie miał własną kopię danych. Podstawowa biblioteka dynamiczna dla systemu Windows to 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 zorientowane obiektowo). Konwencjonalne biblioteki DLL są łatwiejsze w użyciu niż pliki COM.

Co to jest zespół?

Pliki asemblacji zostały wprowadzone przez firmę Microsoft w celu rozwiązania kilku problemów występujących w plikach DLL. Pliki zespołów zostały wprowadzone wraz z platformą Microsoft. NET. Wykonywalna logiczna jednostka funkcjonalności nazywana jest zespołem. Zestawy są wykonywalne w środowisku. NET CLR (Common Language Runtime). Fizycznie zestawy istnieją jako pliki EXE lub DLL. Ale wewnętrznie bardzo różnią się od bibliotek DLL Microsoft Win32. Plik zestawu składa się z manifestu, metadanych, MISL (kod języka pośredniego Microsoft) i innych zasobów. Zespół jest samoopisujący. 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że być wykonany bezpośrednio).

Jaka jest różnica między zespołem a biblioteką DLL?

DLL to dynamicznie połączona biblioteka. Chociaż zestawy są fizycznie równe bibliotekom DLL, wewnętrznie bardzo się różnią. 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 (zawierają wewnętrznie listę zależności). W przeciwieństwie do bibliotek DLL informacje o wersji są wymuszane dla zestawów (przez środowisko CLR). Wdrażanie side-by-side (różne aplikacje używające różnych wersji) jest możliwe z zestawami.

Zalecana: