En dynamisk link library , eller DLL, muliggør en ansøgning for at indlæse kun det nødvendige minimum eksekverbar kode i hukommelsen på runtime . Når programmet kalder en funktion i en DLL, operativsystemet indlæser DLL i hukommelsen i overensstemmelse med programmør specifikationer. Så længe det igangværende program ikke refererer en DLL-funktionen , DLL behøver ikke optager plads . Det sparer ressourcer og øger runtime performance. Hvis biblioteket var statiske , ville alle bibliotekets kode vedlægges vigtigste programmets eksekverbare kode , og kæmpen program ville have at bo i hukommelsen for hele runtime . Unix eller Linux version af en Windows DLL er en delt objekt bibliotek, der er bygget med forlængelsen SO . Windows , Unix og Linux har specifikke konventioner få adgang til funktioner i DLL eller delte biblioteker. Instruktioner
Eksport Windows DLL Objects Brug Preprocessor Keyword
1
I din DLL header fil , sætte søgeordet " __declspec ( dllexport ) " før prototypen på en funktion , klasse , klasse medlemmet eller data variabel i DLL. Dette søgeord tilføjer funktionsprototypen til DLL eksport bord.
2
ordinale værdier 1 til N i stedet for funktion eller klasse medlemsnavne at spare plads besat af DLL eksport bord, hvor N er antallet af objekter eller funktioner i DLL.
3
Tilføj søgeordet " __declspec ( dllimport )" før den tilsvarende funktion prototyper i det kaldende program eller DLL. Det kaldende program import de funktioner, DLL eksport.
Eksport Windows DLL funktioner ved hjælp af et modul Definition File
4
Opret en tekstfil med endelsen DEF og tilføj den . til projektet for din DLL i Visual Studio
5
Tilføj "bibliotek" erklæring med navnet på den DLL efter at det som følger : Hej
LIBRARY ReportWriter
< br > 6
Valgfrit tilføje en kort én linje beskrivelse til DLL som følger : Hej
bESKRIVELSE Dette er en DLL for betænkning generation funktionalitet i MyProduct
Dette anbefales
. .
7
Tilføj en post for hver enkelt funktion eller klasse medlem at DLL ønsker at eksportere , med en valgfri kardinal tal. Kardinalen tal repræsenterer funktionen og tager værdier fra 1 til N, hvor N er antallet af funktioner, der eksporteres af DLL. Her er et eksempel : Hej
RPT_init @ 1RPT_design @ 2RPT_run @ 3RPT_print @ 4 fotos
Efter at knytte al kilde , og denne DEF fil skaber compiler en eksport fil med EXP udvidelse og en import biblioteksfil med LIB forlængelse. Compileren bruger EXP fil til at oprette DLL . Den LIB -fil er knyttet til det kaldende program og holder import information om funktionerne i DLL.