DLL on koodijupp, mis on salvestatud laiendiga.dll. Kooditükki saavad kasutada ka teised rakendused, kuid teek pole rakendus ise. Sisuliselt on dünaamiliselt ühendatud teegid kompileeritud funktsioonide kogumid. Sellistel raamatukogudel on aga mitmeid eripära - näiteks kui mõned rakendused käivitatakse süsteemis samaaegselt ja nad kasutavad samas DLL-is asuvaid funktsioone, siis jääb püsivalt mällu ainult üks raamatukogudest - see meetod tagab mälu.
Vajalik
Koostaja
Juhised
Samm 1
Looge kompilaatoris uus projekt, valides järjest menüüpunktid "File", "New", "Library dll". Luuakse järgmise sisuga projekt: "intWINAPI_Dll_Entry_Point (HINSTANCE_hinst_unsignedlong {return 1;}".
2. samm
Lisaks antakse pika kommentaariga hoiatus, et raamatukogu töötamiseks tuleb esitada mitu.dll-faili tingimusel, et kasutatakse klassi String eksemplare. DLL-ist importimiseks ja eksportimiseks peate rakendama vastavalt modifikaatoreid _import ja _export. Lisaks sellele on sõltuvalt kompilaatori versioonist lubatud kasutada uut märksõna _delspec () vastavalt parameetritega dllimport ja dllexport.
3. samm
Funktsioonide teegist eksportimiseks vajate eksporditava funktsiooni jaoks ühte päisefaili koos _delspec (dllexport) kirjeldusega; funktsioonide rakendustesse importimiseks peab kasutaja installima sarnase päisefaili, kuid failiga _delspec (dllimport) kirjeldus, mis võib tekitada ebamugavusi. Selle probleemi saab hõlpsasti lahendada: lisage teegi päisefailidesse järgmine: “#ifdefined (BUILDDLL); # defineDLL_EXP_declspec (dllexport); # else; #ifdefined (BUILDAPP); # defineDLL_EXP_declspec (dllimport); # else; #defineD; #endif endif.
4. samm
Koosta projekt. Kui vajutate nuppu "Käivita", kuvab kompilaator pärast ehituse lõpetamist teate programmi käivitamise võimatuse kohta. Helistamisrakendus peaks olema nüüd kirjutatud. Looge samas kataloogis uus projekt (File / NewApplication), asetage vormi nupp ja looge OnClicki käitleja.
5. samm
Pärast seda jääb üle vaid projekti avamine ja eelmise projekti.lib-faili lisamine DLL-iga (paremklõps, üksus "Lisa") ja seejärel projekti käivitamine.