PDF download Pdf downloaden PDF download Pdf downloaden

DLL-bestanden zijn dynamisch gekoppelde bibliotheekbestanden die zijn geschreven en worden bestuurd met C++. DLL's maken het delen, opslaan en bewaren van je code eenvoudig. Deze wikiHow laat je zien hoe je een DLL-bestand maakt met Visual Studio in Windows, of Visual Studio voor een Mac. Zorg ervoor dat je 'Desktopontwikkeling met C++' aangevinkt hebt wanneer je installeert. Als je Visual Studio al hebt, maar dat vakje niet aangevinkt hebt, kun je het installatieprogramma opnieuw uitvoeren om er zeker van te zijn dat je erover beschikt.

  1. Je kunt dit programma vinden in je Start-menu of in de map Programma's. Aangezien een DLL een bibliotheek van informatie is, is het slechts een onderdeel van een project, en meestal is een begeleidende app nodig om er toegang toe te krijgen.
  2. Je vindt dit boven de projectruimte (Windows) of bovenaan je scherm (Mac).
  3. Het dialoogvenster 'Nieuw project maken' verschijnt.
  4. Deze zullen filteren welke soorten projectsjablonen verschijnen.
    • Klik op Taal om een vervolgkeuzemenu te krijgen en klik op C++ .
  5. Je keuze wordt blauw. Klik op Volgende om door te gaan.
  6. Typ bijvoorbeeld 'MathLibrary' in het vak voor een voorbeeldnaam.
  7. Het DLL-project wordt gemaakt.
  8. Je kunt dit doen door te klikken op Nieuw item toevoegen onder Project in de menubalk.
    • Selecteer Visual C++ in het linkermenu van het dialoogvenster.
    • Selecteer Header bestand (.h) in het midden van het dialoogvenster.
    • Typ de naam als 'MathLibrary.h' in het naamveld onder de menukeuzes.
    • Klik op Toevoegen om het lege headerbestand te genereren.
    •  // MathLibrary.h - Bevat declaraties van wiskundige functies 
       #pragma once 
       #ifdef MATHLIBRARY_EXPORTS 
       #define MATHLIBRARY_API __declspec(dllexport) 
       #else 
       #define MATHLIBRARY_API __declspec(dllimport) 
       #endif 
       // De Fibonacci recurrentie-relatie beschrijft een reeks F 
       // waarbij F(n) is { n = 0, a 
       //               { n = 1, b 
       //               { n > 1, F(n-2) + F(n-1) 
       // voor sommige initiële integraalwaarden a en b. 
       // Als de reeks is geïnitialiseerd F(0) = 1, F(1) = 1, 
       // dan geeft deze relatie de bekende Fibonacci 
       // rij: 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 
       // Initialiseer een Fibonacci-relatiereeks 
       // zodat F(0) = a, F(1) = b. 
       // Deze functie moet voor elke andere functie aangeroepen worden. 
       extern 
       "C" 
       MATHLIBRARY_API 
       void 
       fibonacci_init 
       ( 
       const 
       unsigned 
       long 
       long 
       a 
       , 
       const 
       unsigned 
       long 
       long 
       b 
       ); 
       // Geeft de volgende waarde in de rij. 
       // Geeft True terug bij succes en update de huidige waarde en index; 
       // False bij overflow, laat huidige waarde en index onveranderd. 
       extern 
       "C" 
       MATHLIBRARY_API 
       bool 
       fibonacci_next 
       (); 
       // Verkrijg de huidige waarde in de rij. 
       extern 
       "C" 
       MATHLIBRARY_API 
       unsigned 
       long 
       long 
       fibonacci_current 
       (); 
       // Verkrijg de positie van de huidige waarde in de rij. 
       extern 
       "C" 
       MATHLIBRARY_API 
       unsigned 
       fibonacci_index 
       (); 
      
    • Dit is voorbeeldcode van de Microsoft-helpwebsite.
  9. Je kunt dit doen door te klikken op Nieuw item toevoegen onder Project in de menubalk.
    • Selecteer Visual C++ in het linkermenu van het dialoogvenster.
    • Selecteer C++ File (.cpp) in het midden van het dialoogvenster.
    • Typ de naam als 'MathLibrary.cpp' in het naamveld onder de menukeuzes.
    • Klik op Toevoegen om het lege bestand te genereren.
    •  // MathLibrary.cpp : Definieert de geëxporteerde functies voor de DLL. 
       #include 
       "stdafx.h" // use pch.h in Visual Studio 2019 
        
       #include 
       <utility> 
        
       #include 
       <limits.h> 
        
       #include 
       "MathLibrary.h" 
        
       // DLL interne toestandsvariabelen: 
       static 
       unsigned 
       long 
       long 
       previous_ 
       ; 
       // Vorige waarde, indien aanwezig 
       static 
       unsigned 
       long 
       long 
       current_ 
       ; 
       // Huidige reekswaarde 
       static 
       unsigned 
       index_ 
       ; 
       // Huidige seq. positie 
       // Initialiseer een Fibonacci relatiesequentie 
       // zodanig dat F(0) = a, F(1) = b. 
       // Deze functie moet voor elke andere functie aangeroepen worden. 
       void 
       fibonacci_init 
       ( 
       const 
       unsigned 
       long 
       long 
       a 
       , 
       const 
       unsigned 
       long 
       long 
       b 
       ) 
       { 
       index_ 
       = 
       0 
       ; 
       current_ 
       = 
       a 
       ; 
       previous_ 
       = 
       b 
       ; 
       // zie speciaal geval wanneer geïnitialiseerd 
       } 
       // Produceer de volgende waarde in de reeks. 
       // Geeft true terug bij succes, false bij overflow. 
       bool 
       fibonacci_next 
       () 
       { 
       // controleer op overflow van resultaat of positie 
       if 
       (( 
       ULLONG_MAX 
       - 
       previous_ 
       < 
       current_ 
       ) 
       || 
       ( 
       UINT_MAX 
       == 
       index_ 
       )) 
       { 
       return 
       false 
       ; 
       } 
       // Speciaal geval wanneer index == 0, gewoon b waarde teruggeven 
       if 
       ( 
       index_ 
       > 
       0 
       ) 
       { 
       // anders, bereken volgende sequentiewaarde 
       previous_ 
       += 
       current_ 
       ; 
       } 
       std 
       :: 
       swap 
       ( 
       current_ 
       , 
       previous_ 
       ); 
       ++ 
       index_ 
       ; 
       return 
       true 
       ; 
       } 
       // Verkrijg de huidige waarde in de reeks. 
       unsigned 
       long 
       long 
       fibonacci_current 
       () 
       { 
       return 
       current_ 
       ; 
       } 
       // Verkrijg de huidige indexpositie in de rij. 
       unsigned 
       fibonacci_index 
       () 
       { 
       return 
       index_ 
       ; 
       } 
      
    • Dit is voorbeeldcode van de Microsoft-helpwebsite.
  10. Je vindt deze knop boven het projectveld (Windows) of bovenaan je scherm (Mac).
  11. Nadat je daarop hebt geklikt, zou je tekst moeten zien, zoals onderstaande:
       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 ==========
    • Als het maken van je DLL is gelukt, zie je dat hier. Als er een fout is opgetreden, wordt die hier vermeld, zodat je die kunt herstellen. [1]
    Advertentie

Over dit artikel

Deze pagina is 2.288 keer bekeken.

Was dit artikel nuttig?

Advertentie