Dll ада - това

DLL ада (DLL-кошмар, буквално: DLL -обява) - безизходица, свързана с динамичен контрол на DLL в операционната система Microsoft Windows.

Подобен проблем в други операционни системи се нарича зависимостта ада.

Същността на проблема е конфликт на DLL версии, предназначени за подпомагане на определени функции. DLL ада - един пример за лошо програмиране понятия, които, подобно на скрита мина, водещи до рязко покачване на трудностите, възникващи поради усложнени и усъвършенстване на системата.

Описание на проблема

Според първоначалния план, DLL трябва да бъде съобразена от версия на версия и взаимозаменяеми и от двете страни.

Прилагане на механизъм DLL е такава, че несъвместимостта и не-заменяемост се превръща в правило, а не изключение, което води до много проблеми.

  • Липса на стандарти за имена и позиции версия DLL в структурата на файловете води до факта, че са несъвместими DLL лесно да замени или забраните помежду си
  • Липсата на стандарти в инсталационната процедура води до факта, че инсталирането на нови програми, водещи до DLL за подмяна текат в несъвместими версии
  • Липсата на подкрепа от свързващи единици DLL и механизми за защита води до факта, че са несъвместими DLL могат да имат едно и също име и версия
  • Все още няма стандартни инструменти за установяване и контрол на потребителите DLL системни администратори и
  • Използване на отделен DLL за комуникация между задачи води до нестабилност на сложни приложения

За да се избегнат конфликти използват DLL много излишни копия от всяко приложение, което обезсмисля първоначалната идея като се възползва от DLL като стандартен модул, след като се съхранява в паметта и споделя от много приложения. Освен това, с този опит, след коригиране на грешки в DLL, или възстановите системата от няколко различни файла DLL, носещ същото име, и изпълняват същата функция, се увеличава и автоматична актуализация версия или грешка корекцията става невъзможно.

История на проблема

Този проблем възниква в по-ранни версии на Microsoft Windows.

С подобни проблеми, възникнали по-ранни версии на Mac OS X. но използването на други технологии. Не се избегне дистрибуторите на библиотеки с отворен код подобни проблеми.

Проблемът е постоянно повтаря, когато програмата се опитва да се движат по грешен DLL, С, който е бил тестван, което показва оригиналния покварата на общата концепция, която позволява произволни резервни версии на модулите.

Мерки срещу DLL ада

Тези мерки се препоръчва да вземат едно и също време, за да получите най-добри резултати:

  • изчисляване на контролната сума на кода на функцията на DLL се нарича - за сравнение на функцията за контролна сума се използва при писане на програми.
  • Операционната система трябва да бъде предаден заедно с управителя на пакет, за да може да се проследи всички DLL взаимозависимостта на, с използването на пакетния мениджър трябва да бъдат насърчавани и отделна инсталация DLL - отхвърли възможно.
  • Централизирано разпределение на библиотеките
  • Предотвратяване на възможността за паралелно използване на множество версии на същия DLL [1].
  • Когато софтуер модификация за лично ползване и предоставяне на модифицирана версия на DLL.
  • По време на проектирането DLL трябва да бъде внимателно обмислена концепция за функции и версии. DLL не трябва да се използва без да е необходимо, и библиотеки, свързани само с една молба трябва да се свързва статично (в EXE-файл).

DLL ада като мотивация .NET проект