dll iad

DLL iad (DLL-coșmar, literalmente: DLL -ad) - impas asociat cu controlul dinamic al DLL în sistemul de operare Microsoft Windows.

O problemă similară în alte sisteme de operare este numit Dependență iad.

Esența problemei este conflictul de versiuni DLL concepute pentru a sprijini anumite caracteristici. DLL iad - un exemplu de concepte de programare proaste, care, ca o mină ascunsă, ceea ce duce la o creștere bruscă a dificultăților prezentate de o complicație și îmbunătățirea sistemului.

Descrierea problemei

Conform planului inițial, DLL ar trebui să fie consecvente de la o versiune la alta și interschimbabile pe ambele părți.

Punerea în aplicare a mecanismului DLL este de așa natură încât incompatibilitatea și non-fungibilitatea devine regula, mai degrabă decât excepția, ceea ce duce la o mulțime de probleme.

  • Lipsa unor standarde pentru numele și poziția DLL versiune în structura de fișiere conduce la faptul că DLL incompatibil înlocui cu ușurință sau dezactiva reciproc
  • Lipsa standardelor în procedura de instalare conduce la faptul că instalarea de noi programe care să conducă la DLL de înlocuire care rulează în versiuni incompatibile
  • Lipsa de sprijin din verigile DLL și mecanisme de protecție conduce la faptul că DLL incompatibile pot avea același nume și versiunea
  • Nu există instrumente standard pentru a identifica și controla utilizatorii de sistem DLL și administratori
  • Utilizarea DLL separat pentru comunicarea între sarcini duce la instabilitate de aplicații complexe

Pentru a evita conflictele utiliza DLL multe copii redundante ale fiecărei cereri, care neagă ideea inițială de a profita de DLL ca un modul standard, odată ce sunt stocate în memorie și partajată de mai multe aplicații. În plus, cu această experiență, după corectarea erorilor în DLL, sau pentru a restaura sistemul de la un număr de diferite DLL dosar, care poartă același nume, și de a efectua aceeași funcție, crește și actualizare a versiunii sau eroare corectarea automată devine imposibilă.

Istoricul problemei

Această problemă a apărut în versiunile anterioare de Microsoft Windows.

Cu probleme similare întâlnite în versiunile anterioare ale Mac OS X. dar folosind alte tehnologii. Nu evita distribuitorii de biblioteci deschise Source astfel de probleme.

Problema se repetă în mod constant în cazul în care programul încearcă să ruleze pe DLL greșit, c care a fost testat, care arată depravarea originală a conceptului general, care permite versiuni de înlocuire arbitrare ale modulelor.

Măsuri împotriva iad DLL

Se recomandă ca aceste măsuri să ia în același timp, pentru a obține cele mai bune rezultate:

  • calculează codul de funcția de control numit de DLL - pentru a compara funcția de control utilizată la scrierea de programe.
  • Sistemul de operare trebuie să fie livrat împreună cu managerul de pachete pentru a fi capabil de a urmări toate interdependenței DLL, cu utilizarea managerul de pachete ar trebui să fie încurajate și DLL-ul de instalare individuale - respins posibil.
  • distribuție centralizată a bibliotecilor
  • Preveni posibilitatea utilizării în paralel a mai multor versiuni ale aceluiași DLL [msdn.microsoft.com/library/default.asp?url=/library/en-us/sbscs/setup/side_by_side_assemblies.asp].
  • Atunci când modificarea software pentru uz personal și de a oferi o versiune modificată a DLL.
  • În timpul de proiectare DLL trebuie să fie luate în considerare cu atenție conceptul de funcții și versiuni.
  • DLL nu ar trebui să fie folosit fără a fi nevoie de, și bibliotecile asociate cu o singură aplicație ar trebui să fie conectate static (în EXE-fișier).

DLL iad ca proiect motivație .NET

Scrie un comentariu despre articolul „DLL iad“

Pasajul care descrie iadul DLL

- Nu cred că la acea dată - a spus el - că nu ar fi venit, dar am o afacere - a spus el cu răceală ...
- Nu, mă întreb cum ai ajuns la regiment. - «DANS onu clipă je suis un vous», [Imediat am la dispoziția dumneavoastră] - el a apelat la vocea numindu-l.
- Văd că nu am făcut-o la momentul respectiv - repetate Rostov.
Exprimarea iritare a dispărut deja în fața lui Boris; aparent de gândire peste și decide ce să facă, el a luat un calm deosebit ambele mâini și l-au dus în camera alăturată. Boris ochii, în căutarea calm și ferm în jos pe Rostov erau ca gata făcut decât atât, ca și cum un fel de declanșare - pahare albastre Hostel - au fost puse la ei. Așa se părea Rostov.
- Oh, cu totul, te rog, dacă nu poți fi la timp, - a spus Boris. - Boris l-a introdus în camera în care a fost servit cina, a fost introdus pentru oaspeți, descriind-o și explicând că el nu a fost un civil, ci un ofițer husar, vechiul său prieten. - Contele Žilina, Le Comte N.N. Le Capitaine S.S. [Count NN Căpitanul SS] - el a sunat oaspeți. Rostov se uită încruntat francezii fără tragere de inimă a plecat și a spus nimic.
Žilina, se pare că nu a acceptat cu bucurie această nouă persoană de origine rusă, în cercul său și nu a spus nimic la Rostov. Boris nu părea să observe constrângerea incident pe noua entitate și același calmul plăcut și zastlannostyu în ochi, cu care sa întâlnit Rostov, a încercat să însufleți conversația. Unul dintre francezi a trimis o favoare comună franceză încăpățânare tăcut Rostov și i-au spus că ar putea să vadă împărat, el a venit la Tilsit.
- Nu, am un lucru - pe scurt răspuns Rostov.
Rostov nu a fost făcută în spiritul imediat după ce a observat neplăcere pe fața lui Boris, și, așa cum se întâmplă întotdeauna cu oameni care nu sunt în spiritul, se pare că totul arata ostil la el și că tot ce interferează. Și, într-adevăr, a împiedicat toate și a rămas unul este din nou dezbaterea generală. „Și de ce el stă aici?“, A spus vizualizările care îi dă departe. Se ridică și se apropie de Boris.
- Dar voi ezita - a spus el să-l liniștit, - să mergem, hai să vorbim despre caz, și am plecat.
- Nu, deloc, a spus Boris. Și dacă ești obosit, să mergem în camera mea puțin și du-te să se odihnească.
- De fapt ...
Au intrat în mica încăpere în care Boris dormit. Rostov, fără a sta jos, imediat iritată - ca Boris a fost de vină decât orice în fața lui - a început să-i spună materia Denisov, întrebând dacă doresc să, și dacă ar putea cere Denisov, după generalul său în împărat, și prin el pentru a oferi o scrisoare. Când au fost singuri, Rostov pentru prima dată a dat seama că era ciudat să se uite la ochii lui Boris. Boris cu picioarele încrucișate și mîngîindu lui mâna stângă degetele subțiri de mâna dreaptă, a ascultat Rostov, ca un general ascultă raportul unui subordonat, apoi în căutarea departe, apoi cu aceeași zastlannostiyu în ochii lui privindu-l drept în ochii lui Rostov. Rostov ori de câte ori a simțit ciudat și a coborât ochii.
- Am auzit despre astfel de lucruri, și știu că împăratul este foarte strict în aceste cazuri. Cred că nu ar trebui să ducă la Majestatea Sa. În opinia mea, ar fi mai bine să ceară direct comandantul Corpului ... Dar, oricum, cred că ...
- Deci nu vrei să faci, trebuie doar să spun așa! - Rostov aproape strigat, nu caută Boris în ochi.
Boris zâmbi: - Dimpotrivă, voi face tot ce pot, dar m-am gândit ...
În acest moment, ușa a venit vocea Žilina, care a numit Boris.
- Ei bine, du-te, du-te, du-te ... - a spus Rostov, și refuzul de a cina, și a lăsat singur într-o cameră mică, este o plimbare lung înainte și înapoi, ascultând conversație franceză veselă din camera alăturată.