PDF download Télécharger l'article PDF download Télécharger l'article

Les fichiers DLL sont des bibliothèques de fonctions liées dynamiquement qui sont la plupart du temps codées en C++. Elles permettent le partage des fonctions qu'elles contiennent entre plusieurs applications, et de ce fait, simplifient l'écriture du code des programmes qui les utiliseront. Vous pourrez créer ces bibliothèques en utilisant Visual Studio pour Windows ou Visual Studio pour Mac. Prenez soin de cocher la case intitulée Développement d'applications de bureau avec C++ lorsque vous installerez cet outil. Si vous avez déjà installé ce logiciel votre système sans avoir coché cette case au préalable, il vous sera préférable de relancer l'installation pour être certain que ce soit fait.

  1. Vous pourrez accéder à l'environnement Visual Studio avec le menu de démarrage du système ou le dossier des applications. Un fichier DLL étant une bibliothèque d'informations, elle ne se composera que d'un seul projet et aura généralement besoin d'une application capable d'y accéder pour pouvoir en effectuer les tests.
  2. Si vous êtes sous Windows, vous le trouverez au-dessus de l'espace des projets, et sous Mac, vous le verrez en haut de votre écran.
  3. Vous verrez s'afficher une boite de dialogue intitulée Créer un nouveau projet .
  4. Elles serviront à filtrer les gabarits des projets qui seront proposés.
    • Cliquez sur Langage . Vous verrez s'afficher un menu déroulant sur lequel vous devrez sélectionner C++ .
  5. Vous verrez s'afficher un nouveau menu déroulant sur lequel vous devrez sélectionner l'option Windows .
  6. Vous verrez s'afficher un autre menu déroulant dans lequel vous devrez sélectionner l'option Bibliothèque .
  7. Vous verrez votre choix se surligner en bleu. Cliquez sur Continuer pour aller plus loin.
  8. Dans la boite d'entrée de texte, tapez le nom que vous voulez donner à votre projet, comme MathLibrary .
  9. Ceci aura pour effet de générer votre projet de création de bibliothèque DLL.
  10. Vous pourrez le faire en cliquant sur l'onglet Projet de la barre de menus puis en sélectionnant l'option Ajouter un élément  :
    • sélectionnez l'option Visual C++ dans le menu de gauche de la boite de dialogues ;
    • sélectionnez Fichier d'entête (.h) au centre de la boite de dialogues ;
    • tapez le nom MathLibrary.h dans le champ d'entrée de texte qui se trouve au-dessous des menus de sélection ;
    • générez un fichier d'entête vide en cliquant sur Ajouter .
    •  // MathLibrary.h – Contient les déclarations de fonctions mathématiques 
       #pragma once 
       #ifdef MATHLIBRARY_EXPORTS 
       #define MATHLIBRARY_API __declspec(dllexport) 
       #else 
       #define MATHLIBRARY_API __declspec(dllimport) 
       #endif 
       // La relation de récurrence de Fibonacci définit une séquence F 
       // où F(n) est { n = 0, a 
       //                  { n = 1, b 
       //                  { n > 1, F(n-2) + F(n-1) 
       // pour des valeurs initiales entières a et b. 
       // Si la séquence est initialisée à F(0) = 1, F(1) = 1, 
       // cette relation produit la suite bien connue de Fibonacci 
       // suite : 1, 1, 2, 3, 5, 8, 13, 21, 34... 
       // Initialisation d'une suite récurrente de Fibonacci 
       // telle que F(0) = a, F(1) = b. 
       // Cette fonction doit être appelée avant toute autre fonction. 
       extern 
       "C" 
       MATHLIBRARY_API 
       void 
       fibonacci_init 
       ( 
       const 
       unsigned 
       long 
       long 
       a 
       , 
       const 
       unsigned 
       long 
       long 
       b 
       ); 
       // Calcul de la prochaine valeur de la séquence. 
       // Renvoie « vrai » en cas de succès et met à jour les valeurs et index courants ; 
       // retourne « faux » en cas de dépassement et laisse inchangés les valeurs et index courants. 
       extern 
       "C" 
       MATHLIBRARY_API 
       bool 
       fibonacci_next 
       (); 
       //Calcul de la valeur courante de la séquence. 
       extern 
       "C" 
       MATHLIBRARY_API 
       unsigned 
       long 
       long 
       fibonacci_current 
       (); 
       //Calcul de la position de la valeur courante dans la séquence. 
       extern 
       "C" 
       MATHLIBRARY_API 
       unsigned 
       fibonacci_index 
       (); 
      
    • Cette portion de code a été fournie par le site de support de Microsoft.
  11. Vous pourrez le faire en cliquant sur l'onglet Projet de la barre de menus puis en sélectionnant l'option Ajouter un élément  :
    • sélectionnez Visual C++ dans le menu de gauche de la boite de dialogues ;
    • sélectionnez Fichier C++ (.cpp) au centre de la boite de dialogues ;
    • tapez le nom MathLibrary.cpp dans le champ d'entrée de texte qui se trouve au-dessous des menus de sélection ;
    • générez le fichier CPP vide en cliquant sur Ajouter .
    •  // MathLibrary.cpp : ce code définit les fonctions exportables de la bibliothèque DLL. 
       #include 
       "stdafx.h" // on doit utiliser la fonction pch.h de Visual Studio 2019 
        
       #include 
       <utility> 
        
       #include 
       <limits.h> 
        
       #include 
       "MathLibrary.h" 
        
       // Variables des états internes de la DLL : 
       static 
       unsigned 
       long 
       long 
       previous_ 
       ; 
       // Valeur précédente si elle existe 
       static 
       unsigned 
       long 
       long 
       current_ 
       ; 
       // Valeur courante de la séquence 
       static 
       unsigned 
       index_ 
       ; 
       // Position de l'index courant 
       // On initialise une suite de Fibonacci 
       // telle que F(0) = a, F(1) = b. 
       // Cette fonction devra être appelée avant toute autre fonction. 
       void 
       fibonacci_init 
       ( 
       const 
       unsigned 
       long 
       long 
       a 
       , 
       const 
       unsigned 
       long 
       long 
       b 
       ) 
       { 
       index_ 
       = 
       0 
       ; 
       actuel_ 
       = 
       a 
       ; 
       anterieur_ 
       = 
       b 
       ; 
       // Voir les cas particuliers d'initialisation 
       } 
       //Calcul de la prochaine valeur de la séquence. 
       //doit retourner vrai en cas de succès et faux en cas de débordement. 
       bool 
       fibonacci_next 
       () 
       { 
       //On vérifie s'il y a eu débordement du résultat ou de l'index 
       if 
       (( 
       ULLONG_MAX 
       - 
       anterieur_ 
       < 
       actuel_ 
       ) 
       || 
       ( 
       UINT_MAX 
       == 
       index_ 
       )) 
       { 
       return 
       false 
       ; 
       } 
       //Cas particulier si l'index est égal à 0 : la valeur de b sera retournée. 
       if 
       ( 
       index_ 
       > 
       0 
       ) 
       { 
       //sinon on calcule la valeur suivante de la séquence 
       anterieur_ 
       += 
       actuel_ 
       ; 
       } 
       std 
       :: 
       swap 
       ( 
       actuel_ 
       , 
       anterieur_ 
       ); 
       ++ 
       index_ 
       ; 
       return 
       true 
       ; 
       } 
       //Calculer la valeur courante de la séquence. 
       unsigned 
       long 
       long 
       fibonacci_current 
       () 
       { 
       return 
       actuel_ 
       ; 
       } 
       //calculer la position de l'index courant dans la séquence. 
       unsigned 
       fibonacci_index 
       () 
       { 
       return 
       index_ 
       ; 
       } 
      
    • Cette portion de code a été fournie par le site de support de Microsoft.
  12. Sous Windows, vous trouverez ce bouton au-dessus de l'espace de travail du projet, et vous le trouverez en haut de votre écran si vous êtes sous Mac.
  13. Lorsque vous aurez cliqué sur ce bouton, vous verrez s'afficher sur votre écran un texte énumérant à peu près ce qui suit :
       1 
       >------ 
       Construction 
       démarrée 
       : 
       Projet 
       : 
       MathLibrary 
       , 
       Configuration 
       : 
       Débogage 
       Win32 
       
      1 > MathLibrary . cpp 1 > dllmain . cpp 1 > Génération du code ... 1 > Création de la bibliothèque C : \ Users \ Utilisateur \ Source \ Repos \ MathLibrary \ Debug \ MathLibrary . lib et objet C : \ Users \ Utilisateur \ Source \ Repos \ MathLibrary \ Debug \ MathLibrary . exp 1 > MathLibrary . vcxproj -> C : \ Users \ Utilisateur \ Source \ Repos \ MathLibrary \ Debug \ MathLibrary . dll 1 > MathLibrary . vcxproj -> C : \ Users \ Utilisateur \ Source \ Repos \ MathLibrary \ Debug \ MathLibrary . pdb ( PDB partiel ) ========== Création : 1 avec succès , 0 é chec , 0 mis à jour , 0 passé ==========
    • Si la création de votre bibliothèque s'est effectuée avec succès, c'est le texte que vous verrez s'afficher, mais si elle a échoué, vous verrez s'afficher une liste des erreurs auxquelles vous devrez remédier avant de continuer  [1] .
    Publicité

À propos de ce wikiHow

Cette page a été consultée 4 101 fois.

Cet article vous a-t-il été utile ?

Publicité