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

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

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

Видео: Разлика между сглобяването и DLL
Видео: Запуск программы невозможен, так как на компьютере отсутствует файл dll, где скачать dll файлы? 🤔💻 2024, Ноември
Anonim

Сглобяване срещу 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 framework. Изпълнима логическа функционална единица се нарича Асамблея. Асамблеите са изпълними под. NET CLR (Common Language Runtime). Физически сборките съществуват като EXE или DLL файлове. Но те са много различни от Microsoft Win32 DLL, вътрешно. Асемблерният файл се състои от манифест, метаданни, MISL (код на междинен език на Microsoft) и други ресурси. Събранието се описва само. Манифестът съдържа информация като име, версия, култура, силно име, списък с файлове, видове и зависимости. MISL кодът се изпълнява чрез CLR (не може да се изпълни директно).

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

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

Препоръчано: