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

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

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

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

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

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

Что такое DLL?

Библиотека динамической компоновки (более известная как DLL) - это реализация разделяемой библиотеки, разработанная Microsoft. Он использует расширения.dll,.ocx или.drv, и они используются в операционных системах Microsoft Windows и OS / 2..dll используется обычными файлами DLL. Расширение.ocx используется библиотеками, содержащими элементы управления ActiveX, а расширение.drv используется устаревшими файлами системных драйверов. Формат файла DLL такой же, как у EXE-файлов Windows (переносимые исполняемые файлы в 32-битной / 64-битной Windows и новый исполняемый файл в 16-битной Windows). Следовательно, любая комбинация кода, данных и ресурсов может содержаться в файлах DLL (как и в файлах EXE). Фактически, файлы данных в формате DLL называются ресурсными DLL. Библиотеки значков (с расширением.icl) и файлы шрифтов (с расширениями.fon и.fot) являются примерами библиотек ресурсов.

Компоненты, называемые разделами, составляют 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). Параллельное развертывание (разные приложения используют разные версии) возможно со сборками.

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