Разница между сборкой и DLL

Разница между сборкой и DLL
Разница между сборкой и DLL

Видео: Разница между сборкой и DLL

Видео: Разница между сборкой и DLL
Видео: СОЗДАНИЕ DLL C# | КАК ПОДКЛЮЧИТЬ DLL | C# ПЛЮШКИ 2024, Июль
Anonim

Сборка против DLL

Библиотека - это набор ресурсов, которые можно использовать для разработки приложений. Библиотека обычно состоит из подпрограмм, функций, классов, значений и типов. В процессе связывания (обычно выполняется компоновщиком) библиотеки и исполняемые файлы ссылаются друг на друга. Файлы DLL - это файлы библиотек, которые подключаются динамически. DLL была разработана Microsoft. Но из-за некоторых проблем, связанных с файлами DLL, Microsoft придумала формат файла сборки (с платформой. NET). Файлы сборки физически очень похожи на DLL, но имеют много внутренних отличий.

Что такое DLL?

Библиотека динамической компоновки (более известная как 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 (компонентная объектная модель) является расширением DLL для ООП (объектно-ориентированного программирования). Обычные DLL проще в использовании, чем COM-файлы.

Что такое сборка?

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

В чем разница между сборкой и DLL?

DLL - это динамически подключаемая библиотека. Хотя сборки физически идентичны библиотекам DLL, они сильно отличаются внутренне. Невозможно поддерживать согласованность между набором библиотек DLL, но CLR может поддерживать согласованность между набором сборок, поскольку сборки являются самоописываемыми (внутренне они содержат список зависимостей). В отличие от библиотек DLL, информация о версиях применяется для сборок (средой среды CLR). Параллельное развертывание (разные приложения, использующие разные версии) возможно с помощью сборок.

Рекомендуемые: