Skapa DLL-filer

Författare: John Pratt
Skapelsedatum: 11 Februari 2021
Uppdatera Datum: 1 Juli 2024
Anonim
Day 7:  Understanding Application *.DLL files
Video: Day 7: Understanding Application *.DLL files

Innehåll

DLL-filer är dynamiskt länkade biblioteksfiler skrivna och kontrollerade med C ++. DLL-filer gör det enkelt att dela, lagra och bevara din kod. Denna wikiHow lär dig hur du skapar en DLL-fil med Visual Studio på Windows eller Visual Studio på en Mac. Se till att du har "Skrivbordsutveckling med C ++" kontrollerat när du installerar. Om du redan har Visual Studio men inte har markerat den rutan kan du köra installationsprogrammet igen för att se till att du har det.

Att gå

  1. Öppna Visual Studio. Du hittar det här programmet i din Start-meny eller i mappen Program. Eftersom en DLL är ett bibliotek med information är den bara en del av ett projekt och kräver vanligtvis en kompletterande app för att komma åt den.
    • Du kan ladda ner Visual Studio för Windows här: https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2019
    • Du kan ladda ner Visual Studio för Mac här: https://docs.microsoft.com/en-us/visualstudio/mac/installation?view=vsmac-2019
    • Denna wikiHow använder kod från Microsoft för att förklara hur man bygger en DLL-fil.
  2. Klicka på Arkiv. Du hittar det ovanför projektrummet (Windows) eller högst upp på skärmen (Mac).
  3. Klicka på Ny och Projekt. Dialogrutan "Skapa nytt projekt" visas.
  4. Föreslå alternativen Språk, Plattform och Projekttyp i. Dessa filtrerar vilka typer av projektmallar som visas.
    • Klicka på Språk för att få en rullgardinsmeny och klicka C ++.
  5. Klicka på Plattform för att få en rullgardinsmeny och klicka Windows.
  6. Klicka på Projekttyp för att få en rullgardinsmeny och klicka Bibliotek.
  7. Klicka på Dynamic-link Library (DLL). Ditt val blir blått. Klicka på Nästa att fortsätta.
  8. Skriv ett namn för projektet i rutan Namn. Skriv till exempel "MathLibrary" i rutan för exempelnamn.
  9. Klicka på Att göra. DLL-projektet skapas.
  10. Lägg till en rubrikfil i DLL-filen. Du kan göra detta genom att klicka på Lägg till nytt föremål Nedan Projekt i menyraden.
    • Välj Visual C ++ i den vänstra menyn i dialogrutan.
    • Välj Rubrikfil (.h) i mitten av dialogrutan.
    • Skriv namnet som "MathLibrary.h" i namnfältet under menyalternativen.
    • Klicka på Lägg till för att skapa den tomma rubrikfilen.
  11. Skriv följande kod i den tomma rubrikfilen.

      // MathLibrary. (N) är {n = 0, a // {n = 1, b // {n> 1, F (n-2) + F (n-1) // för några initiala integrala värden A och b. // Om sekvensen initialiseras F (0) = 1, F (1) = 1, // så returnerar denna relation den välkända Fibonacci // raden: 1, 1, 2, 3, 5, 8, 13, 21, 34, ... // Initiera en Fibonacci-relationssträng // så att F (0) = a, F (1) = b. // Denna funktion måste anropas före någon annan funktion. extern "C" MATHLIBRARY_API ogiltig Fibonacci_init (const unsigned long long a, const unsigned long long b); // Returnerar nästa värde i raden. // Returnerar True vid framgång och uppdaterar aktuellt värde och index; // Falskt vid överflöde, lämna aktuellt värde och index oförändrat. extern "C" MATHLIBRARY_API bole Fibonacci_next (); // Få det aktuella värdet i raden. extern "C" MATHLIBRARY_API osignerad lång lång retracement_ström (); // Få positionen för det aktuella värdet i raden. extern "C" MATHLIBRARY_API osignerad retracement_index ();

    • Detta är exempelkod från Microsofts hjälpwebbplats.
  12. Lägg till en CPP-fil i DLL-filen. Du kan göra detta genom att klicka på Lägg till nytt föremål Nedan Projekt i menyraden.
    • Välj Visual C ++ i den vänstra menyn i dialogrutan.
    • Välj C ++ -fil (.cpp) i mitten av dialogrutan.
    • Skriv namnet som "MathLibrary.cpp" i namnfältet under menyalternativen.
    • Klicka på Lägg till för att skapa den tomma filen.
  13. Skriv följande kod i den tomma filen.

      // MathLibrary.cpp: Definierar de exporterade funktionerna för DLL-filen. #include "stdafx.h" // use pch.h in Visual Studio 2019 #include utility> #include limits.h> #include "MathLibrary.h" // DLL interna tillståndsvariabler: statisk osignerad lång lång tidigare_; // Tidigare värde, om det finns statisk osignerad lång långström_; // Aktuellt strängvärde statiskt osignerat index_; // nuvarande sekv. position // Initiera en Fibonacci-relationssekvens // så att F (0) = a, F (1) = b. // Denna funktion måste anropas före någon annan funktion. ogiltig Fibonacci_init (const osignerad lång lång a, const osignerad lång lång b) {index_ = 0; nuvarande_ = a; föregående_ = b; // se specialfall vid initialisering} // Producera nästa värde i sekvensen. // Returnerar sant vid framgång, falskt vid överflöde. bool Fibonacci_next () {// kontrollera efter överflöd av resultat eller position om ((ULLONG_MAX - föregående_ aktuell_) || (UINT_MAX == index_)) {return falsk; } // Specialfall när index == 0, bara returnera b-värdet om (index_> 0) {// annat, beräkna nästa sekvensvärde föregående_ + = aktuell_; } std :: swap (current_, previous_); ++ index_; återvänd sant; } // Hämta det aktuella värdet i strängen. osignerad lång lång Fibreström () {returström_; } // Få den aktuella indexpositionen i raden. osignerad retracement_index () {returindex_; }

    • Detta är exempelkod från Microsofts hjälpwebbplats.
  14. Klicka på Sammanställa i menyraden. Du hittar den här knappen ovanför projektfältet (Windows) eller högst upp på skärmen (Mac).
  15. Klicka på Kompilera lösningen. När du har klickat på det ska du se text som nedan:

      1> ------ Bygga igång: Projekt: MathLibrary, Konfiguration: Debug Win32 ------ 1> MathLibrary.cpp 1> dllmain.cpp 1> Generera kod ... 1> Skapa bibliotek C: Användare användarnamn Källa Repos MathLibrary Debug MathLibrary.lib och objekt C: Användare användarnamn Källa Repos MathLibrary Debug MathLibrary.exp 1> MathLibrary.vcxproj -> C: Användare användarnamn Source Repos MathLibrary Debug MathLibrary.dll 1> MathLibrary.vcxproj -> C: Users användarnamn Source Repos MathLibrary Debug MathLibrary.pdb (Delvis PDB) =========== Bygg: 1 lyckades, 0 misslyckades, 0 uppdaterad, 0 hoppades över ===========

    • Om du lyckades skapa din DLL kommer du att se den här. Om ett fel har inträffat listas det här så att du kan åtgärda det.