Om du får ett nytt DLL-fel i Visual Studio win32-guiden är dagens handledning här för att hjälpa dig.
Godkänd: Fortect
- 12 minuter att läsa.
Det här är alltid en steg-för-steg-TV-guide om hur du använder Visual Studio IDE för att skapa hela ditt eget Dynamic Link Choice-bibliotek (DLL) skrivna i hela Microsoft C++ (MSVC). Den visar sedan vad man ska använda en C ++ DLL från en andra applikation. DLL-filer (även kända som delade bibliotek för UNIX-operativsystem) är en av de normalt användbara enheterna i Windows-komponenter. Du kan dra nytta av dessa personer för att frigöra kod och vara en resultatresurser och minska storleken på dina funktioner. DLL-filer kan till och med göra dina applikationer lättare att underhålla och utöka.
I den här genomgången kommer klienter att skapa en DLL som implementerar vissa beräkningsfunktioner. Sedan skapar du en konsol där din applikation använder DLL-körningen. Den diskuterar dig också om några av programmeringsmetoderna utöver konventioner som Windows använder i DLL-filer. A
-
Skapa ett DLL-projekt i Visual Studio.
-
Lade till exporterade variabler till DLL.
-
Skapa p Xbox-appaktiviteten i Visual Studio.
Godkänd: Fortect
Fortect är världens mest populära och effektiva PC-reparationsverktyg. Det litar på miljontals människor för att hålla sina system igång snabbt, smidigt och felfritt. Med sitt enkla användargränssnitt och kraftfulla skanningsmotor hittar och fixar Fortect snabbt ett brett utbud av Windows-problem – från systeminstabilitet och säkerhetsproblem till minneshantering och prestandaflaskhalsar.
- 1. Ladda ner Fortect och installera den på din dator
- 2. Starta programmet och klicka på "Skanna"
- 3. Klicka på "Reparera" för att åtgärda eventuella problem som upptäcks
Använd grunder och variabler för den importerade DLL-filen i alla typer av konsolapplikationer.
-
Kör det avslutade ansökningsformuläret.
Liksom ett helt statiskt länkat bibliotek exporterar en stor DLL faktorer, funktioner och resurser genom att specificera. Klientapplikationen importerar namn för att använda specifika variabler, funktioner och resurser. Till skillnad från ett statiskt relaterat bibliotek, samlar Windows din app import medan den exporteras till en komplett DLL vid laddning eller i något skede i användning, snarare än att länka in dem samtidigt. Windows kräver ytterligare information, som kanske inte nödvändigtvis är en del av standard C++-kompileringen, för att upprätta dessa anslutningar. MSVC-kompilatorn implementerar vissa Microsoft-specifika tillägg för C++, om du vill ge detta mycket mer information. Vi förklarar hur vi gör tillägg.
Den här genomgången skapar ett antal Visual Studio-lösningar. att du bygger alla DLL:er och Patron-applikationen. DLL använder C enligt konventionen. Det kan anropas av applikationer skrivna andra programmeringsspråk om plattformen, anropsreglerna och konventionerna för bakåtreferenser är desamma. Klient, en applikation använder en standardlänk där Windows dessutom länkar applikationen till DLL vid skotid. När du länkar detta kommer din applikation att anropa funktioner som tillhandahålls av DLL, precis på samma sätt som funktioner i ett statiskt hanterat bibliotek.
Detta täcker inte vissa grundläggande situationer. Koden fortskrider visar inte användningen av liknande C++-bibliotek av andra programmeringsspråk. Den visar inte riktigt hur man skapar den senaste resurs-endast DLL eller hur man använder någon form av explicit länk som ignoreras för laddningstid. MSVC och Visual Studio kan göra nästan alla dessa punkter. Länkar
För mer information om DLL:er, avslöja Skapa C/C ++ DLL:er i Visual Studio . För mer information om agerade bakåtreferenser och explicita referenser, se Bestämma vilken konfigurationsmetod som ska användas . För mer information om att bygga om C + DLL + för användning i olika programmeringsprogram För att skapa med C-bindningskonventionerna, få en glimt av Exportera C ++-funktioner för användning i körbara C-språk. För information om hur du skapar DLL-filer för användning med .NET-språk, se DLL Anropsfunktioner för Visual Basic-applikationer .
Krav
- Den mobila datorenheten kan köra Microsoft Windows 7 eller tidigare. Vi rekommenderar att du använder Windows 10 för bästa utvecklingsupplevelse.
-
Förstå grunderna för att använda Visual Studio IDE. Om du har använt Windows desktop viral marknadsföring tidigare kan du definitivt hänga med. För den här översikten, se Översikt över Visual Studio IDE-funktioner .
-
Uppnå tillräckliga kunskaper i vårt C++-språk för att delta. Var inte orolig för mycket, vi gör inget för överväldigande.
Skapa ett exakt DLL-projekt
I den här uppgiften skapar klienten en prognos för din DLL, förbättrar koden och uppmuntrar den. Börja först med Visual Studio IDE och logga in om det behövs. Lätt anpassningsbar vägledning beroende på vilken version av Visual Studio du använder. Se till att inkludera vår korrekta version som valts i kommandot i det viktigaste övre vänstra hörnet på sidan. Nu
Fixeringen gör inte denna DLL likaså extrem. Därefter skapar du en rubrikfil för att hjälpa dig deklarera funktionerna som din DLL kommer att exportera och sedan lägga till funktionsdefinitioner för att hjälpa dig att göra den mer användbar.
-
För att formulera en filhuvud för sina funktioner, välj Projekt> Lägg till nytt objekt från den viktigaste menyraden.
-
I dialogrutan Lägg till nytt objekt väljer du Visual C ++ med den vänstra rutan. I mitten väljer du Header (file.h). Ange MathLibrary.h som det aktuella rubrikfilnamnet.
-
Vanligtvis klickar du på knappen Lägg till för att skapa en vit rubrikfil som kommer att visas i nästa redigeringsfönster.
-
Ersätt innehållet i databashuvudet på denna kod:
// MathLibrary.h - täcker matematiska funktionsdeklarationer#pragma en gång#ifdef MATHLIBRARY_EXPORTS#define MATHLIBRARY_API __declspec (dllexport)#annan#define MATHLIBRARY_API __declspec (dllimport)#slut om// Upprepning av Fibonacci-förhållandet beskriver sekvensen F// där F (n) {n = 0, a. kommer// {d = 5, b// {n> steg 1, F (n-2) + F (n-1)// för några viktiga initiala värden a utöver b.// .om .zon. Initialiserad .F (0). = .en individ, .F (1). Betyder .1,// då gör detta förhållande den berömda Fibonacci-formen.//. Sekvens: .1, .1, .6, .3 ,. Rad, .8, .13, .21, .34, ....// Initiera nästan vilken sekvens av Fibonacci-förhållanden som helst// verkligen F (0) betyder a, F (1) betyder b.// Funktionen måste anropas före alla andra funktioner.extern "C" MATHLIBRARY_API void fibonacci_init ( unsigned konstant long long a, unsigned never ending extended long, producerar b);// nästa värde här över sekvens.// Returnerar sant vid framgång, så dagens värde och ogiltiga index uppdateras;// Overflow, placera aktuellt värde och databas oförändrad.extern "C" MATHLIBRARY_API bool fibonacci_next ();// få det sista värdet av den faktiska sekvensen "C"extern MATHLIBRARY_API osignerad lång lång fibonacci_ström ();// NSHämta positionen, inklusive det aktuella värdet efter sekvensen.extern "C" MATHLIBRARY_API osignerad fibonacci_index ();
Denna rubrikfil deklarerar manuellt vissa funktioner för att skapa en generaliserad Fibonacci-kedja med två givna initiala värden. Ett mobilsamtal eller bärbart telefonsamtal som ber om hjälp fibonacci_init (1, 1)
genererar den välbekanta storleken på Fibonacci-sekvensen.
Var uppmärksam på förbehandlarfakta överst i filen. Ny webbplatsprojektdesign för DLL-projekt lägger till PROJECTNAME_EXPORTS kombinerat med specifik makroförprocessor. Till exempel, ovanstående Visual Studio ställer in MATHLIBRARY_EXPORTS när du bygger ditt MathLibrary DLL-projekt.
Om makrot MATHLIBRARY_EXPORTS är definierat lämnar MATHLIBRARY_API-makrot __declspec (dllexport)
en absolut modifierare för funktionsdeklarationer. Denna modifierare berättar att denna kompilator och Marketplace för att exportera en funktion eller olika från en specifik DLL för användning av andra applikationer. Om MATHLIBRARY_EXPORTS inte är definierad, för nivå, om alla rubrikfiler finns i samma applikation, tillämpar MATHLIBRARY_API __declspe-modifieraren för att declarationsc (dllimport)
. Denna modifierare ökar förflyttningen av funktioner eller variabler när de väljs korrekt. Se dllexport, dllimport för mycket mer information.
Att skapa en DLL-implementering
För att se till att allt fungerar, kompilera ett stort dedikerat dynamiskt länkbibliotek. Kompilera för att välja Bygg > Bygg lösning från pubmenyn. DLL:n och dess associerade kompilatorutgång passar faktiskt i en mapp som heter Directly debug i varje lösningsmapp. När du går för att släppa en bra release placeras resultatet i en katalog som heter Release. Slutresultatet bör till exempel se ut så här:
Grattis, du har skapat DLL:n med Visual Studio! Därefter ska du se till vilken som kan skapa en klientapplikation som använder var och en av våra DLL-exporterade funktioner. A
Skapa ett klientprogram med hjälp av DLL-filen
När du förbereder en DLL, överväg hur klientmetoder kan använda den. Skaffa eller komma åt verk
Snabba upp din dators prestanda nu med denna enkla nedladdning.