PDF download PDF herunterladen PDF download PDF herunterladen

DLL-Dateien sind dynamisch verlinkte Bibliotheks-Dateien, die mit C++ geschrieben und gesteuert werden. DLLs erleichtern das Teilen, Speichern und Aufbewahren deines Codes. In diesem wikiHow zeigen wir dir, wie du eine DLL-Datei mit Visual Studio , der Windows-Anwendung, oder Visual Studio für Mac erstellst. Stelle sicher, dass du bei der Installation ein Häkchen bei “Desktop-Entwicklung mit C++” gesetzt hast. Wenn du Visual Studio bereits hast, aber das Häkchen nicht gesetzt hast, kannst du den Installer noch einmal ausführen, um dies nachzuholen.

Vorgehensweise

PDF download PDF herunterladen
  1. Du findest es im Startmenü oder im Programme-Ordner. Da eine DLL eine Bibliothek mit Informationen ist, ist sie nur ein Teil eines Projekts und erfordert normalerweise eine begleitende App, um darauf zuzugreifen.
  2. Unter Windows findest du dies über dem Projektbereich.
  3. Das Dialogfeld "Ein neues Projekt erstellen" wird eingeblendet.
  4. Diese filtern die Art der Projekt-Vorlagen, die angezeigt werden.
    • Klicke auf Sprache , um ein Dropdown-Menü angezeigt zu bekommen, und klicke auf C++ .
  5. Deine Auswahl wird blau markiert. Klicke zum Fortfahren auf Weiter .
  6. Tippe hier beispielsweise “MathLibrary” ein.
  7. Das DLL-Projekt wird erstellt.
  8. Dafür kannst du in der Menüleiste unter "Projekt" auf “ Neu hinzufügen ” klicken.
    • Wähle im linken Menü des Dialogfelds Visual C++ .
    • Wähle in der Mitte des Dialogfelds Header file (.h) aus.
    • Tippe den Namen “MathLibrary.h” in das Namensfeld unter den Menü-Optionen ein.
    • Klicke auf Hinzufügen , um die leere Header-Datei zu erstellen.
    •  // MathLibrary.h - Enthält Deklarationen von mathematischen Funktionen 
       #pragma once 
       #ifdef MATHLIBRARY_EXPORTS 
       #define MATHLIBRARY_API __declspec(dllexport) 
       #else 
       #define MATHLIBRARY_API __declspec(dllimport) 
       #endif 
       // Die Fibonacci Rekursionsgleichung beschreibt eine Sequenz F 
       // wobei F(n) ist { n = 0, a 
       //               { n = 1, b 
       //               { n > 1, F(n-2) + F(n-1) 
       // für einige initiale Werte a und b. 
       // Wenn die Sequenz initialisiert wird F(0) = 1, F(1) = 1, 
       // dann erzeugt diese Beziehung die bekannte Fibonacci 
       // Sequenz: 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 
       // Initialisiere eine Fibonacci Relationssequenz 
       // so, dass F(0) = a, F(1) = b. 
       // Diese Funktion muss vor allen anderen Funktionen aufgerufen werden. 
       extern 
       "C" 
       MATHLIBRARY_API 
       void 
       fibonacci_init 
       ( 
       const 
       unsigned 
       long 
       long 
       a 
       , 
       const 
       unsigned 
       long 
       long 
       b 
       ); 
       // Erzeuge den nächsten Wert in der Sequenz. 
       // Gibt bei Erfolg true zurück und aktualisiert den aktuellen Wert und Index; 
       // false bei Overflow, belässt den aktuellen Wert und Index unverändert. 
       extern 
       "C" 
       MATHLIBRARY_API 
       bool 
       fibonacci_next 
       (); 
       // Bringe den aktuellen Wert in die Sequenz. 
       extern 
       "C" 
       MATHLIBRARY_API 
       unsigned 
       long 
       long 
       fibonacci_current 
       (); 
       // Bringe die Position des aktuellen Werts in die Sequenz. 
       extern 
       "C" 
       MATHLIBRARY_API 
       unsigned 
       fibonacci_index 
       (); 
      
    • Dies ist ein Beispiel-Code, der von der Microsoft-Hilfe-Webseite bereitgestellt wird.
  9. Dafür kannst du in der Menüleiste unter "Projekt" auf Neu hinzufügen klicken.
    • Wähle im linken Menü des Dialogfelds “ Visual C++ ”.
    • Wähle in der Mitte des Dialogfelds “ C++ File (.cpp) ”.
    • Tippe den Namen “MathLibrary.cpp” in das Namensfeld unter den Menü-Optionen ein.
    • Klicke auf Hinzufügen , um die leere Datei zu erzeugen.
    •  // MathLibrary.cpp : Definiert die exportierten Funktionen der DLL. 
       #include 
       "stdafx.h" // use pch.h in Visual Studio 2019 
        
       #include 
       <utility> 
        
       #include 
       <limits.h> 
        
       #include 
       "MathLibrary.h" 
        
       // DLL interne Zustandsvariablen: 
       static 
       unsigned 
       long 
       long 
       previous_ 
       ; 
       // Vorheriger Wert, falls vorhanden 
       static 
       unsigned 
       long 
       long 
       current_ 
       ; 
       // Aktueller Sequenzwert 
       static 
       unsigned 
       index_ 
       ; 
       // Aktuelle Seq.-Position 
       // Initialisiere eine Fibonacci Relationssequenz 
       // so, dass F(0) = a, F(1) = b. 
       // Diese Funktion muss vor allen anderen Funktionen aufgerufen werden. 
       void 
       fibonacci_init 
       ( 
       const 
       unsigned 
       long 
       long 
       a 
       , 
       const 
       unsigned 
       long 
       long 
       b 
       ) 
       { 
       index_ 
       = 
       0 
       ; 
       current_ 
       = 
       a 
       ; 
       previous_ 
       = 
       b 
       ; 
       // siehe Sonderfall bei der Initialisierung 
       } 
       // Erzeuge den nächsten Wert in der Sequenz. 
       // Gibt bei Erfolg true zurück, bei Overflow false 
       bool 
       fibonacci_next 
       () 
       { 
       // Prüfen, ob Overflow oder Position 
       if 
       (( 
       ULLONG_MAX 
       - 
       previous_ 
       < 
       current_ 
       ) 
       || 
       ( 
       UINT_MAX 
       == 
       index_ 
       )) 
       { 
       return 
       false 
       ; 
       } 
       // Sonderfall wenn index == 0, gibt einfach Wert b zurück 
       if 
       ( 
       index_ 
       > 
       0 
       ) 
       { 
       // berechne anderenfalls nächsten Sequenz-Wert 
       previous_ 
       += 
       current_ 
       ; 
       } 
       std 
       :: 
       swap 
       ( 
       current_ 
       , 
       previous_ 
       ); 
       ++ 
       index_ 
       ; 
       return 
       true 
       ; 
       } 
       // Bringt den aktuellen Wert in die Sequenz. 
       unsigned 
       long 
       long 
       fibonacci_current 
       () 
       { 
       return 
       current_ 
       ; 
       } 
       // Bringt die aktuelle Index-Position in die Sequenz. 
       unsigned 
       fibonacci_index 
       () 
       { 
       return 
       index_ 
       ; 
       } 
      
    • Dies ist Beispiel-Code, der von der Microsoft-Hilfe-Webseite bereitgestellt wird.
  10. Unter Windows findest du dies über dem Projekt-Bereich.
  11. Danach sollte ein derartiger Text eingeblendet werden:
       1 
       >------ 
       Build 
       started 
       : 
       Project 
       : 
       MathLibrary 
       , 
       Configuration 
       : 
       Debug 
       Win32 
       
      1 > MathLibrary . cpp 1 > dllmain . cpp 1 > Generating Code ... 1 > Creating library C : \ Users \ username \ Source \ Repos \ MathLibrary \ Debug \ MathLibrary . lib and object C : \ Users \ username \ Source \ Repos \ MathLibrary \ Debug \ MathLibrary . exp 1 > MathLibrary . vcxproj -> C : \ Users \ username \ Source \ Repos \ MathLibrary \ Debug \ MathLibrary . dll 1 > MathLibrary . vcxproj -> C : \ Users \ username \ Source \ Repos \ MathLibrary \ Debug \ MathLibrary . pdb ( Partial PDB ) ========== Build : 1 succeeded , 0 failed , 0 up - to - date , 0 skipped ==========
    • Wenn die Erstellung deiner DLL erfolgreich war, siehst du das hier. Wenn es einen Fehler gab, wird es hier angezeigt, damit du ihn beheben kannst. [1]
    Werbeanzeige

Über dieses wikiHow

Diese Seite wurde bisher 10.899 mal abgerufen.

War dieser Artikel hilfreich?

Werbeanzeige