Viga väliste dünaamiliselt koormatud raamatukogude funktsioonidega töötamine
- 3540
- 33
- Salvatore Hirthe
Windowsi opsüsteemi raamatukoguressursside struktuuri saab esindada järgmiselt:
- Alguses, madalaimal tasemel, on süsteemi enda katkestused, mille “jalad” kasvavad Windowsi esimestest versioonidest, pealegi kõik, mis on pärit sellest pikast tühjast “vanast naisest” MS-DOS-ist ( Jah, sellel tasemel on peaaegu 30 aastat akendest midagi muutunud). Juurdepääs sellele raamatukogule toimub hõlpsalt katkestaja kaudu katkestamise (katkestuse) käsul, seega „katkestus”, ehkki tegelikult on sellel tasemel vähe seost katkestuste töötlemise alamprogrammidega.
- Me tõuseme ühe sammu kõrgemale ja jõuame Winsdk -i - Windowsi arendaja tarkvara komplekti. See on omamoodi analoog kõigist samadest „katkestustest”, kuid võttes juba arvesse Windowsi organisatsiooni spetsiifikat - arendaja saab sellesse teegi juurdepääsu tema kasutatava kõrgetasemelise keele harjumuspärase koodi kaudu.
Ainus raskus on see, et Winsdk kirjelduse terminoloogia erineb kõige rakendatud programmeerimiskeele kirjelduse, selle funktsioonide terminoloogiast (võtke sama ehitaja või Delphi). Õnneks kirjeldatakse kõiki Winsdki funktsioone arendajate endi üksikasjalikult (tegelikult pole nendega midagi pistmist, nende populaarsus on nii suur).
Funktsioonid Winsdk kogutakse dünaamiliselt ühendatud (sõna otseses mõttes laaditud) teegi failides - dünaamiline lobray (DLL). Sellise teegi kasutaja ei pea teadma funktsiooni aadressi - sellest piisab, kui ta teab funktsiooni nime ja on kindel, et teegi funktsioon on. Funktsioonide sissepääsupunktid on määratud raamatukogu enda kirjelduses.
- Samuti tõuseme kõrgemale ja oleme Windowsi üle järelevalveprogrammide raamatukogudes. Üks kuulsamaid pealisehitusi on graafikapakett DirectX. Siin on sama organisatsioon - kõik samad DLL -failid.
Siin on seotud ühe raamatukoguga DirectX ja viga D3D11.DLL - see salvestab mahuliste graafiliste mudelite kuvamise funktsioonid.
Väikesed selgitused
Siin peate mõistma, et kui lihtne teade "Viga D3D11 kuvatakse ekraanile.Dll ", see pole eriti õige sõnum, see ei kajasta täpselt probleemi olemust. Mõnikord on teade vea kohta "võiks luua D3D11 seadme" - kuidas seda parandada, selline viga ise saab vähe aidata.
Täpsemalt, see teade peaks välja nägema nagu "Viga funktsiooni XYZ -i sisestamine, raamatukogus D3D11.DLL "või lihtsam -" XYZ funktsioon raamatukogus D3D11.DLL pole määratletud ".
Teine asi on see, et rakenduste arendajad ei vaevu sageli selgitustega ja annavad täpselt tekkinud vea olemuse lihtsa, "määramatu" versiooni. Kuid see ei muuda olemust. Ebaõnnestumise peamised põhjused - või raamatukogu D3D11.DLL puudub, variandina - D3D11.DLL -i ei leitud või ei sisalda vajalikku funktsiooni ega kahjustatud, nii et funktsioon oleks ligipääsmatu.
Vea parandamine
Funktsioonile juurdepääsu vea parandamine D3D11 -s.DLL seisneb raamatukogu enda ümberkorraldamises. DLL - käivitatav kood, sisestage selline fail ja see ei tööta selle redigeerimiseks. Lisaks viitab fail DirectX paketi 11. versioonile.
Seega on esimene viis vea kõrvaldamiseks DirectX 11 paketi ümberkorraldamine. See meetod on lihtne ja seda on pikka aega kontrollitud, peamine on ainult peastruktuuri töötava versiooni leidmine, kõige parem on seda teha Microsofti ametlikul veebisaidil.
Installimine DirectX Windowsis
Teine võimalus on ümber korraldada ainult D3D11 fail ise.DLL. Seda saab teha spetsialiseeritud DLL-failide utiliidi abil.com, mis on tasuta ja saadaval sama nime saidil.
Niisiis, installige ja käivitage DLL-failid.
Otsige DLL-faili programmis DLL-faile.Com
Otsinguribal sisestame "D3D11.Dll ". Pärast raamatukogu leidmist klõpsame "Installi".
DLL-faili installimine programmi DLL-Files.Com
Kui olete harjunud kõike ise tegema, saab probleemi käsitsi lahendada - see on kolmas viis. Selle kasutamiseks laadige alla fail D3D11.DLL ja asetage see paremasse süsteemikausta. Siin peate olema ettevaatlik, kuna see kaust Windowsi erinevates versioonides on erinev (näidetes eeldatakse, et süsteem on paigaldatud kettale "C:", kui see pole nii, siis peab ketas olema sobiv ):
- Versioonides Windows XP, Vista, 7, 8, 8.1 ja 10 - C: \ Windows \ System32;
- Windows 95, 98 ja mina - C: \ Windows \ System;
- Windows NT ja 2000 - C: \ Winnt \ System32.
Me võtame arvesse - kui on olemas ka süsteemi versioon 64 -bitine protsessori jaoks, siis on meie faili viimane kaust igal juhul - "Syswow64".
Faili loendus kausta ei anna sellega veel tööd. Nüüd tuleb see Windowsi süsteemi registris registreerida. Selleks viime käsud läbi akna (Start/peamenüü/käivitamine) käsk: regsvr32 d3d11.DLL.
Järeldus
Valdava enamuse probleemide lahendus, mis on seotud Windowsi opsüsteemi väliste dünaamiliselt koormatud raamatukogudega, seostatakse sageli lihtsalt teegi enda või iseseisva ümberkorraldamisega või ühise paketi kaudu (meie näites - DirectX 11).
DLL -faili on võimalik installida ja käsitsi, see on lihtsa kopeerimisega soovitud kausta. Kuid esiteks peate seda kausta teadma. Ja teiseks tuleb selline fail registreerida Windowsi süsteemi registris. Siin ei saa te ilma ametlike kommunaalteenusteta tööd teha süsteemi registris.
Kui olete sellise veaga kokku puutunud, kirjutage oma kogemustest kommentaarides.
- « Kuidas probleemi lahendada, kui Avirat ei värskendata
- Androidi mängud arvutis LeapDroid Emulatori abil »