Hoe Een Dll-bibliotheek Te Maken

Inhoudsopgave:

Hoe Een Dll-bibliotheek Te Maken
Hoe Een Dll-bibliotheek Te Maken

Video: Hoe Een Dll-bibliotheek Te Maken

Video: Hoe Een Dll-bibliotheek Te Maken
Video: Understanding Windows Applications: Day 6 DLLs 2024, Mei
Anonim

DLL is een stukje code dat is opgeslagen in bestanden met de extensie.dll. Een stukje code kan door andere applicaties worden gebruikt, maar de bibliotheek is zelf geen applicatie. In wezen zijn dynamisch gekoppelde bibliotheken verzamelingen van gecompileerde functies. Dergelijke bibliotheken hebben echter een aantal eigenaardigheden - als sommige toepassingen bijvoorbeeld tegelijkertijd in het systeem worden uitgevoerd en ze functies gebruiken die zich in dezelfde DLL bevinden, dan zal slechts één van de bibliotheken permanent in het geheugen staan - deze methode zorgt voor een economisch gebruik van geheugen.

Hoe een dll-bibliotheek te maken
Hoe een dll-bibliotheek te maken

Noodzakelijk

Compiler

instructies:

Stap 1

Maak een nieuw project in de compiler door achtereenvolgens de menu-items "Bestand", "Nieuw", "Bibliotheek dll" te selecteren. Er wordt een project gemaakt met de volgende inhoud: "intWINAPI_Dll_Entry_Point (HINSTANCE_hinst_unsignedlong {return 1;}".

Stap 2

Bovendien zal er een lange opmerking zijn waarin wordt gewaarschuwd dat om de bibliotheek te laten werken, een aantal.dll's moet worden geleverd, op voorwaarde dat exemplaren van de String-klasse worden gebruikt. Om te importeren en exporteren vanuit een DLL, moet u respectievelijk de _import en _export modifiers toepassen. Bovendien is het, afhankelijk van de versie van de compiler, toegestaan om het nieuwe sleutelwoord _delspec () te gebruiken met respectievelijk de parameters dllimport en dllexport.

Stap 3

Om functies uit de bibliotheek te exporteren, hebt u één headerbestand nodig met een beschrijving van _delspec (dllexport) voor de geëxporteerde functie; om functies in toepassingen te importeren, moet de gebruiker een vergelijkbaar headerbestand installeren, maar met een _delspec (dllimport) beschrijving, wat voor ongemak kan zorgen. Dit probleem kan eenvoudig worden opgelost: voeg het volgende toe aan de headerbestanden van de bibliotheek: "#ifdefined (BUILDDLL); # definitionDLL_EXP_declspec (dllexport); # else; #ifdefined (BUILDAPP); # definitionDLL_EXP_declspec (dllimport); # else; #defineDLL_EXP; #endif endif ".

Stap 4

Stel het project samen. Als u op "Uitvoeren" drukt, zal de compiler na het voltooien van de constructie een bericht weergeven over de onmogelijkheid om het programma uit te voeren. De aanroepende applicatie moet nu worden geschreven. Maak in dezelfde map een nieuw project (Bestand / Nieuwe Applicatie), plaats een knop in het formulier en maak een OnClick-handler aan.

Stap 5

Daarna hoeft u alleen nog maar het project te openen en het.lib-bestand van het vorige project toe te voegen met de DLL (klik met de rechtermuisknop, item "Toevoegen") en start het project.

Aanbevolen: