PDF herunterladen
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
-
Öffne Visual Studio. 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.
- Visual Studio für Windows bekommst du hier: https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2019
- Visual Studio für Mac kannst du hier herunterladen: https://docs.microsoft.com/en-us/visualstudio/mac/installation?view=vsmac-2019
- In diesem wikiHow nutzen wir Code, der von Microsoft bereitgestellt wird, um zu zeigen, wie du eine DLL-Datei erstellst.
-
Klicke oben auf dem Bildschirm auf Datei . Unter Windows findest du dies über dem Projektbereich.
-
Klicke auf Neu und dann auf Projekt . Das Dialogfeld "Ein neues Projekt erstellen" wird eingeblendet.
-
Stelle die Optionen für Sprache , Plattform und Projekttyp ein. Diese filtern die Art der Projekt-Vorlagen, die angezeigt werden.
- Klicke auf Sprache , um ein Dropdown-Menü angezeigt zu bekommen, und klicke auf C++ .
-
Klicke auf Plattform , um ein Dropdown-Menü angezeigt zu bekommen, und klicke auf Windows .
-
Klicke auf Projekttyp , um ein Dropdown-Menü angezeigt zu bekommen, und klicke auf Bibliothek .
-
Klicke auf Dynamic-link Library (DLL) . Deine Auswahl wird blau markiert. Klicke zum Fortfahren auf Weiter .
-
Tippe im Feld "Name" einen Namen für das Projekt ein. Tippe hier beispielsweise “MathLibrary” ein.
-
Klicke auf Erstellen . Das DLL-Projekt wird erstellt.
-
Füge der DLL eine Header-Datei hinzu. 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.
-
Tippe den folgenden Code in die leere Header-Datei ein.
- Dies ist ein Beispiel-Code, der von der Microsoft-Hilfe-Webseite bereitgestellt wird.
// 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 ();
-
Füge der DLL eine CPP-Datei hinzu. 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.
-
Tippe den folgenden Code in die leere Datei ein.
- Dies ist Beispiel-Code, der von der Microsoft-Hilfe-Webseite bereitgestellt wird.
// 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_ ; }
-
Klicke oben auf dem Bildschirm in der Menüleiste auf Build . Unter Windows findest du dies über dem Projekt-Bereich.
-
Klicke auf Lösung erstellen . Danach sollte ein derartiger Text eingeblendet werden:
- 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] X Forschungsquelle
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 ==========Werbeanzeige
Referenzen
Werbeanzeige