Comment créer des fichiers dll
Les fichiers DLL sont des fichiers de bibliothèque liés dynamiques écrits et contrôlés avec C++. Les DLL établissent le partage, le stockage et la sauvegarde de votre code simple. Thiswill vous montrer comment créer un fichier dll avec Visual Studio, l`application Windows, ou Visual Studio pour Mac. Assurez-vous d`avoir "Développement de bureau avec C ++" vérifié lorsque vous installez. Si vous avez déjà Visual Studio mais que vous n`avez pas vérifié cette case, vous pouvez exécuter à nouveau l`installateur pour vous assurer de faire.
Pas
1. Open Visual Studio. Vous pouvez le trouver dans votre menu de démarrage ou votre dossier d`applications. Puisque une DLL est une bibliothèque d`informations, ce n`est qu`un seul projet, et nécessite généralement une application d`accompagnement pour y accéder.
- Vous pouvez obtenir Visual Studio pour Windows ici: https: // docs.Microsoft.COM / EN-US / VISUALStudio / Installation / Install-Visual-Studio?View = vs-2019
- Visual Studio for Mac peut être téléchargé ici: https: // docs.Microsoft.COM / EN-US / VISUALStudio / Mac / Installation?View = vsmac-2019
- Thiswill utiliser le code fourni par Microsoft pour expliquer comment créer un fichier DLL.

2. Cliquez sur le fichier. Vous le trouverez au-dessus de l`espace de projet (Windows) ou sur le dessus de votre écran (Mac).

3. Cliquez sur Nouveau et projet. La boîte de dialogue "Créer un nouveau projet" apparaîtra.

4. Définir les options pour Langue, Plate-forme, et Type de projet. Ceux-ci filtreront quels types de modèles de projet apparaissent.

5. Cliquez sur Plate-forme Pour obtenir un menu déroulant et cliquez sur les fenêtres.

6. Cliquez sur Type de projet Pour obtenir un menu déroulant et cliquez sur Bibliothèque.

7. Cliquez sur Bibliothèque Dynamic-Link (DLL). Votre choix mettra en évidence le bleu. Cliquez sur Suivant continuer.

8. Tapez un nom dans la zone Nom pour le projet. Par exemple, tapez "mathlibrary" dans la case pour un nom d`échantillon.

9. Cliquez sur Créer. Le projet DLL est créé.

dix. Ajouter un fichier d`en-tête à la DLL. Vous pouvez le faire en cliquant sur "Ajoute un nouvel objet" de "Projet"Dans la barre de menus.

11. Tapez le code suivant dans le fichier d`en-tête vierge.
// mathlibrary.h - contient des déclarations de fonctions mathématiques # pragma une fois # ifdef mathlibrary_exports # définir mathlibrary_api __declspec (dllexport) # __e # définir mathlibrary_api __declspec (dllimport) # endeclspec (dllimport) # endeclspec (DLLIMPORT) # endeclspec (la relation de récurrence de Fibonacci décrit une séquence f // où f (n) est { n = 0, a // {n = 1, b // {n > 1, f (n-2) + f (n-1) // pour certaines valeurs intégrées initiales A et B.// si la séquence est initialisée F (0) = 1, f (1) = 1, // alors cette relation produit la séquence de fibonacci // bien connue: 1, 1, 2, 3, 5, 8, 13, 21, 34, ...// initialise une séquence de relation Fibonacci // tel que f (0) = A, F (1) = B.// Cette fonction doit être appelée avant toute autre fonction.externe "C" Mathlibrary_api void fibonacci_init (const Un non signé long Long A, const Unsigné long Long B) - // Produit la valeur suivante dans la séquence.// retourne true sur le succès et les mises à jour la valeur et l`index actuels - // false sur débordement, laisse la valeur actuelle et l`index inchangés.externe "C" Mathlibrary_api bool fibonacci_next () - // obtenir la valeur actuelle dans la séquence.externe "C" Mathlibrary_api non signé long long fibonacci_current () - // obtenir la position de la valeur actuelle dans la séquence.externe "C" Mathlibrary_api non signé fibonacci_index ()-

12. Ajouter un fichier CPP à la DLL. Vous pouvez le faire en cliquant sur Ajoute un nouvel objet de "Projet" Dans la barre de menus.

13. Tapez le code suivant dans le fichier vierge.
// mathlibrary.CPP: Définit les fonctions exportées pour la DLL.#inclure "STDAFX.h" // utilise pch.H dans Visual Studio 2019 # Inclure #include #include "Mathlibrary.h"// Variables d`état interne DLL: statique non signée longue longe précédente _- // valeur précédente, si une séquence non signée longue et non signé _- // Séquence actuelle Vérifiant index non signé _- // actuel SEQ. position // initialise une séquence de relation Fibonacci // tel que f (0) = A, F (1) = B.// Cette fonction doit être appelée avant toute autre fonction.vide fibonacci_init (Const non signé long long A, const non signé long long b) {index_ = 0-courant_ = A-précédent_ = b- // Voir le cas spécial lors de l`initialisation} // produise la valeur suivante dans la séquence.// retourne vrai sur le succès, faux sur débordement.BOOL FIBONACCI_NEXT () {// Vérifiez si nous recevions un résultat de débordement ou du positionnement ((ULLONG_MAX - Précédent_ < actuel_) || (uint_max == index _)) {renvoie false -} // cas spéciale lorsque Index == 0, il suffit de retourner b de valeur (index_ > 0) {// sinon, calculer la valeur de séquence suivantePrevious_ + = Courant _-} std :: swap (actuel_, précédent _) - ++ index_-retour true -} // Obtenir la valeur actuelle dans la séquence.non signé long long fibonacci_current () {retour courant _-} // Obtenez la position actuelle de l`index dans la séquence.non signé fibonacci_index () {retour index_-}

14. Cliquez sur Construire Dans la barre de menus. Vous le trouverez au-dessus de l`espace de projet (Windows) ou sur le dessus de votre écran (Mac).

15. Cliquez sur Construire une solution. Après avoir cliqué cela, vous devriez voir du texte similaire à celui-ci:
1>------ Construction démarrée: Projet: MathLibrary, Configuration: Debug Win32 ------ 1>Mathlibrary.CPP1>dllmain.CPP1>Code générateur...1>Création de bibliothèque C: Utilisateurs Nom d`utilisateur Source Repos MathLibrary Debug MathLibrary.LIB et objet C: Utilisateurs Nom d`utilisateur Source Repos MathLibrary Debug MathLibrary.exp1>Mathlibrary.vcxproj -> C: Utilisateurs Nom d`utilisateur Source Repos MathLibrary Debug MathLibrary.dll1>Mathlibrary.vcxproj -> C: Utilisateurs Nom d`utilisateur Source Repos MathLibrary Debug MathLibrary.PDB (PDB partiel) ========== Build: 1 réussi, 0 échec, 0 à jour, 0 ignoré ===========