Hur får man en funktionsprototyp i DLL
February 13
En dynamisk länk bibliotek, eller DLL möjliggör en applikation för att ladda endast absolut nödvändigt körbar kod i minnet vid körning. Närhelst programmet anropar en funktion i en DLL, laddar operativsystemet DLL i minnet i enlighet med programmerarens specifikationer. Så länge pågående program inte refererar en DLL funktion behöver DLL inte upptar utrymme. Detta sparar resurser och ökar körningsprestanda. Om biblioteket var statisk, skulle alla bibliotekskoden fogas till huvudprogrammet körbara kod, och den gigantiska programmet skulle behöva stanna i minnet för hela körningen. Unix eller Linux-versionen av Windows DLL är ett delat objekt bibliotek som är byggd med tillägget SO. Windows, Unix och Linux har särskilda konventioner att få tillgång till funktioner i DLL eller delade bibliotek.
Instruktioner
Export Windows DLL objekt med Preprocessor Nyckelord
1 I din DLL sidhuvudfilen lade sökordet "__declspec (dllexport)" innan prototypen för en funktion, klass, klassmedlem eller datavariabel i DLL. Detta sökord lägger funktionen prototyp till DLL export bord.
2 Använd ordning värden 1 till N i stället för funktions eller klass medlemmars namn för att spara utrymme som DLL export bord, där N är antalet objekt eller funktioner i DLL.
3 Lägg till sökordet "__declspec (dllimport)" innan motsvarande funktionsprototyper i det anropande programmet eller DLL. Det anropande programmet importerar funktioner som DLL export.
Export Windows DLL funktioner Använda en modul Definition fil
4 Skapa en textfil med tillägget DEF och lägga till den i projektet för DLL i Visual Studio.
5 Tillsätt "bibliotek" uttalande med namnet på DLL efter det på följande sätt:
BIBLIOTEK Report
6 Eventuellt lägga till en kort en rad beskrivning av DLL enligt följande:
BESKRIVNING Detta är en DLL för rapportgenerering funktionalitet i MyProduct.
Detta rekommenderas.
7 Lägg till en post för varje funktion eller klassmedlem som DLL vill exportera, med ett valfritt kardinal nummer. Kardinalen nummer representerar funktionen och tar värden från 1 till N, där N är antalet funktioner som exporteras av DLL. Här är ett exempel:
RPT_init @ 1
RPT_design @ 2
RPT_run @ 3
RPT_print @ 4
När du har länkat allt källa och detta DEF fil, skapar kompilatorn en exportfilen med EXP förlängning och en importbiblioteksfilen, med LIB förlängning. Kompilatorn använder EXP filen för att skapa DLL. LIB fil är kopplad till det anropande programmet och håller import information om funktionerna i DLL.
Tips
- Om du vill ringa C-funktioner i en DLL från antingen en C eller C ++ program, kapsla in de exporterade funktionsprototyper i "extern C {....}" preprocessor direktiv enligt följande:
- #ifdef __cplusplus
- extern "C" {
- #endif
- __declspec (dllimport) void RPT_init (RPT * rapport);
- __declspec (dllimport) BOOL RPT_design (RPT * rapport);
- __declspec (dllimport) BOOL RPT_run (RPT * rapport);
- __declspec (dllimport) BOOL RPT_print (RPT * rapport);
- #ifdef __cplusplus
- } // Ändfästet av "extern C" preprocessor direktiv
- #endif
- När en DLL är gjord av klasser som härrör från Microsoft Foundation Classes i DLL form är nya DLL kallas en MFC förlängning DLL. Använd makrot "AFX_EXT_CLASS" till export- och import prototyper av klasser i MFC utökade DLL.
- Till port 16-bitars Windows-program till 32-bitars Windows, ersätta sökordet "_export" och "_import" med "__declspec (dllexport)" och "__declspec (dllimport)" respektive.
relaterade artiklar
- Hur får man gratis WiFi Internet
- Hur får man en Netflix-konto
- Hur får man de bästa priserna på Internet
- Hur får man en Questia Free Trial
- Hur får man en högre sökmotor Ranking
- Hur får man gratis Web Access
- Hur får man billiga saker att Sälja på Ebay att göra en vinst
- Hur får man ett AdSense-konto har återställts
- Hur får man ett gäng anhängare på Twitter
- DU KANSKE OCKSÅ GILLAR
-
- • Felsökning Mediacom E-post
- • Hur man skickar anonyma meddelanden på Facebook
- • Hur man använder en Windows Proxy
- • Delar av Microsoft Excel
- • Skriva ut en månadskalender Page
- • Om WMA-format (Windows Media-format)
- • Hur konvertera sekunder Sedan Epoch hitintills
- • Hur man fixar MBR på en Dual Boot
- • Wi-Fi Beskrivning
- • Hur berätta om någon är på din trådlösa Internet?
Välkommen till dig för att skicka en kommentar: