Разлика между сглобяване и DLL

Монтаж срещу DLL

Библиотеката е съвкупност от ресурси, които могат да се използват за разработване на приложения. Библиотеката обикновено се състои от подпрограми, функции, класове, стойности и типове. По време на процеса на свързване (обикновено се осъществява от линкер) библиотеките и изпълними файлове се позовават една на друга. DLL файловете са библиотечните файлове, които са свързани динамично. DLL е разработен от Microsoft. Но поради някои проблеми, съществуващи с DLL файловете, Microsoft излезе с формат на файла за сглобяване (с .NET рамката). Файловете за сглобяване са много подобни на DLL файловете, но имат много вътрешни различия.

Какво е DLL?

Dynamic Link Library (по-известна като DLL) е споделена реализация на библиотека, разработена от Microsoft. Той използва разширенията .dll, .ocx или .drv и те се използват в операционните системи Microsoft Windows и OS / 2 ... dll се използва от обикновените DLL файлове. И .ocx разширението се използва от библиотеките, които съдържат ActiveX контроли, а .drv разширението се използва от наследени файлови драйвери на системата. Форматът на DLL файловете е същият като файловете на Windows EXE (преносими изпълними файлове в 32-битов / 64-битов Windows и нов изпълним на 16-битов Windows). Следователно, всяка комбинация от код, данни и ресурси може да се съдържа във DLL файлове (точно както в EXE файлове). Всъщност файловете с данни с DLL формат се наричат ​​ресурсни DLL файлове. Библиотеките на иконите (с разширение .icl) и шрифтови файлове (с разширения .fon и .fot) са примери за DLL-та на ресурсите.

Компонентите, наречени секции, съставят DLL и всеки раздел има свои собствени атрибути като само за четене / възможност за записване и изпълним / не изпълними. Секциите с кодове са изпълними, докато секциите с данни не са изпълними. Разделите с кодове са споделени, а секциите с данни са частни. Това означава, че всички процеси, използващи DLL, ще използват едно и също копие на кода, докато всеки процес ще има свое копие на данните. Основната динамична библиотека за Windows е kernel32.dll, която съдържа основните функции (функционалност, свързана с файлове и памет) в Windows. COM (Component Object Model) е разширението на DLL до OOP (Обектно ориентирано програмиране). Конвенционалните DLL файлове са по-лесни за използване от COM файловете.

Какво е събрание?

Майкрософт файловете бяха въведени от Microsoft, за да разрешат няколко проблема, съществуващи с DLL файлове. Файловете за сглобяване бяха въведени с Microsoft .NET рамката. Изпълнима логическа единица на функционалността се нарича Сглобяване. Сглобките се изпълняват под .NET CLR (общоезиково изпълнение). Физически, сборките съществуват като EXE или DLL файлове. Но те са много различни от DLL файловете на Microsoft Win32, вътрешно. Файл за сглобяване се състои от манифест, метаданни, MISL (код на междинен език на Microsoft) и други ресурси. Сборката се самоописва. Манифестът съдържа информация като име, версия, култура, силно име, списък с файлове, видове и зависимости. MISL код се изпълнява чрез CLR (не може да бъде изпълнен директно).

Каква е разликата между сглобяването и DLL?

DLL е динамично свързана библиотека. Въпреки че, сглобки са физически равни на DLLs, те са много различни вътрешно. Не е възможно да се поддържа съгласуваност между набор от DLL файлове, но CLR може да поддържа съгласуваност между набор от сглобки, тъй като сборките са самоописани (те съдържат списъка на зависимостите вътрешно). За разлика от DLL, информацията за версиите се налага за сглобяване (от CLR). Сглобяване е възможно отстраняване (различни приложения, използващи различни версии).