Hur man skapar dll-filer
DLL-filer är dynamiska-länkade biblioteksfiler skrivna och kontrollerade med C++. Dlls gör delning, lagring och spara din kod enkel. ThisWill visar hur du skapar en DLL-fil med Visuell Studio, Windows-applikationen, eller Visuell Studio för Mac. Se till att du har "skrivbordsutveckling med C ++" kontrollerad när du installerar. Om du redan har Visual Studio men inte kollade den rutan, kan du köra installationsprogrammet igen för att se till att du gör det.
Steg
1. Öppen visuell studio. Du kan hitta det här i din startmeny eller programmapp. Eftersom en DLL är ett bibliotek av information är det bara ett stycke av ett projekt, och brukar kräva en medföljande app för att komma åt den.
- Du kan få Visual Studio för Windows här: https: // docs.Microsoft.COM / EN-US / VisualStudio / Installera / Install-Visual-Studio?Visa = VS-2019
- Visuell studio för Mac kan hämtas här: https: // docs.Microsoft.COM / EN-US / VisualStudio / Mac / Installation?Visa = VSMAC-2019
- Den här kommer att använda kod som tillhandahålls av Microsoft för att förklara hur du bygger en DLL-fil.
2. Klicka på filen. Du hittar detta antingen ovanför projektutrymmet (Windows) eller längst upp på skärmen (Mac).
3. Klick Ny och projekt. Dialogrutan "Skapa ett nytt projekt" kommer att dyka upp.
4. Ställ in alternativen för Språk, Plattform, och Projekttyp. Dessa kommer att filtrera vilka typer av projektmallar som visas.
5. Klick Plattform För att få en rullgardinsmenyn och klicka på Fönster.
6. Klick Projekttyp För att få en rullgardinsmenyn och klicka på Bibliotek.
7. Klick Dynamic-Link Library (DLL). Ditt val kommer att markera blå. Klick Nästa att fortsätta.
8. Skriv ett namn i rutan Namn för projektet. Skriv till exempel "MathLibrary" i rutan för ett provnamn.
9. Klick Skapa. DLL-projektet är skapat.
10. Lägg till en rubrikfil till DLL. Du kan göra det genom att klicka på "Lägg till nytt föremål" från "Projekt"I menyraden.
11. Skriv följande kod i den tomma rubrikfilen.
// mathlibrary.h - innehåller deklarationer av matematiska funktioner # pragma en gång # ifdef mathlibrary_exports # definiera mathlibrary_api __declspec (dllexport) # annars # definiera mathlibrary_api __declspec (dllimport) # endif // Fibonacci återkommande relation beskriver en sekvens f // där f (n) är { n = 0, a // {n = 1, b // {n > 1, F (n-2) + F (n-1) // för några initiala integrerade värden A och B.// Om sekvensen initialiseras F (0) = 1, F (1) = 1, // Därefter producerar denna relation den välkända Fibonacci //-sekvensen: 1, 1, 2, 3, 5, 8, 13, 21, 34, ...// initiera en FIBONACCI-relationssekvens // så att F (0) = A, F (1) = B.// Den här funktionen måste ringas före någon annan funktion.extern "C" Mathlibrary_api void Fibonacci_init (const unsigned long long a, const unsigned long long b) - // producera nästa värde i sekvensen.// returnerar sant på framgång och uppdateringar Aktuellt värde och index - // Falskt på överflöde, lämnar Aktuellt värde och Index oförändrat.extern "C" MATHLIBRARY_API BOOL FIBONACCI_NEXT () - // Få det aktuella värdet i sekvensen.extern "C" Mathlibrary_api unsigned Long Long Fibonacci_Current () - // få positionen för det aktuella värdet i sekvensen.extern "C" Mathlibrary_api unsigned fibonacci_index ()-
12. Lägg till en CPP-fil till DLL. Du kan göra det genom att klicka på Lägg till nytt föremål från "Projekt" I menyraden.
13. Skriv följande kod i den tomma filen.
// mathlibrary.CPP: Definierar de exporterade funktionerna för DLL.#omfatta "stdafx.h" // Använd PCH.h i Visual Studio 2019 # inkluderar #include #include "Mathlibrary.h"// DLL interna tillståndsvariabler: statisk osignerad lång långtid tidigare _- // föregående värde, om anystatisk osignerad lång långström _- // nuvarande sekvens Valuestatic unsigned index _- // nuvarande SEQ. Position // Initiera en Fibonacci-relationsekvens // så att F (0) = A, F (1) = B.// Den här funktionen måste ringas före någon annan funktion.void Fibonacci_init (const unsigned long long a, const unsigned long long b) {index_ = 0-current_ = a-föregående_ = b- // Se speciellt fall när du är initialiserad} // producera nästa värde i sekvensen.// returnerar sant på framgång, falskt på överflöde.BOOL FIBONACCI_NEXT () {// Kontrollera om vi skulle överflöde resultat eller position för ((Ullong_Max - Tidigare_ < current_) || (uint_max == index _)) {retur false -} // specialfodral när index == 0, bara returnera B ValueIFF (index_ > 0) {// Annars, beräkna nästa sekvensvärdePrevious_ + = Aktuell _-} STD :: SWAP (Current_, föregående _) - ++ index_-return sant -} // få det aktuella värdet i sekvensen.osignerad lång lång Fibonacci_current () {Returnera aktuell _-} // Hämta det aktuella indexpositionen i sekvensen.unsigned fibonacci_index () {return index_-}
14. Klick Bygga I menyraden. Du hittar detta antingen ovanför projektutrymmet (Windows) eller längst upp på skärmen (Mac).
15. Klick Bygga lösning. När du klickat på det ska du se text som liknar detta:
1>------ Build Startat: Projekt: Mathlibrary, Configuration: Debug Win32 ------ 1>Mathlibrary.CPP1>dllmain.CPP1>Genereringskod...1>Skapa bibliotek C: Användare Användarnamn Source Repos Mathlibrary Deug Mathlibrary.lib och objekt c: users användarnamn källa repos mathlibrary debug mathlibrary.exp1>Mathlibrary.vcxproj -> C: Användare Användarnamn Source repos mathlibrary debug mathlibrary.dll1>Mathlibrary.vcxproj -> C: Användare Användarnamn Source repos mathlibrary debug mathlibrary.pdb (partiell pdb) ========== Bygg: 1 lyckades, 0 misslyckades, 0 aktuell, 0 hoppades över =========================
Dela på det sociala nätverket: