Een DLL-bestand maken: 10 stappen (met afbeeldingen)

Inhoudsopgave:

Een DLL-bestand maken: 10 stappen (met afbeeldingen)
Een DLL-bestand maken: 10 stappen (met afbeeldingen)

Video: Een DLL-bestand maken: 10 stappen (met afbeeldingen)

Video: Een DLL-bestand maken: 10 stappen (met afbeeldingen)
Video: Kijk Niet 10 Minuten In De Spiegel 2024, November
Anonim

DLL-bestanden zijn dynamisch gekoppelde bibliotheekbestanden die zijn geschreven en beheerd via de programmeertaal C++. DLL's vereenvoudigen het proces van het delen en opslaan van code. Deze wikiHow leert je hoe je een DLL-bestand maakt met Visual Studio, Windows-applicaties of Visual Studio voor Mac. Zorg ervoor dat u de optie "Desktop Development with C++" aanvinkt in het installatieproces van het programma. Als u al een Visual Studio-programma hebt, maar het vakje voor die optie niet aanvinkt, moet u het installatiebestand opnieuw uitvoeren om er zeker van te zijn dat het vakje kan worden aangevinkt.

Stap

11227960 1
11227960 1

Stap 1. Open Visual Studio

U vindt dit programma in het menu "Start" of in de map "Toepassingen". Omdat het DLL-bestand een informatiebibliotheek is, is het een "chunk" van het project en vereist het meestal een begeleidende toepassing om toegang te krijgen.

  • U kunt Visual Studio voor Windows downloaden op deze site:
  • Visual Studio voor Mac kan hier worden gedownload:
  • Deze wikiHow gebruikt code van Microsoft om uit te leggen hoe je een DLL-bestand maakt.
11227960 2
11227960 2

Stap 2. Klik op Bestand

Dit tabblad bevindt zich bovenaan het projectgebied (Windows) of bovenaan het scherm (Mac).

11227960 3
11227960 3

Stap 3. Klik op Nieuw en Projecten.

Het dialoogvenster "Een nieuw project maken" wordt weergegeven.

11227960 4
11227960 4

Stap 4. Specificeer de opties voor de aspecten “Taal”, “Platform” en “Projecttype”

Deze aspecten filteren de weergegeven projectsjablonen.

Klik " Taal ” om het vervolgkeuzemenu weer te geven en klik op “ C++ ”.

11227960 5
11227960 5

Stap 5. Klik op “Platformen ” om het vervolgkeuzemenu weer te geven en klik op “ Ramen.

11227960 6
11227960 6

Stap 6. Klik op "Projecttype" ” om het vervolgkeuzemenu weer te geven en selecteer “ Bibliotheken".

11227960 7
11227960 7

Stap 7. Klik op Dynamic-link Library (DLL)

Opties worden blauw gemarkeerd. Klik " Volgende " doorgaan.

11227960 8
11227960 8

Stap 8. Typ de projectnaam in het veld "Name Box"

U kunt bijvoorbeeld "MathLibrary" in de kolom typen als voorbeeldnaam.

11227960 9
11227960 9

Stap 9. Klik op Maken

Er wordt een DLL-project gemaakt.

11227960 10
11227960 10

Stap 10. Voeg een headerbestand toe aan het DLL-project

U kunt het toevoegen door te klikken op " Nieuw item toevoegen " van " Project " op de menubalk.

  • Kiezen " Visueel C++ ” in het menu aan de linkerkant van het dialoogvenster.
  • Kiezen " Bestandskoppen (.h) ” vanuit het midden van het dialoogvenster.
  • Typ een naam, bijvoorbeeld "MathLibrary.h" in het naamveld onder de menu-opties.
  • Klik " Toevoegen ” om een leeg headerbestand te maken.
11227960 11
11227960 11

Stap 11. Typ de volgende code in het lege headerbestand

    // MathLibrary.h - Bevat verklaringen van wiskundige functies #pragma once #ifdef MATHLIBRARY_EXPORTS #define MATHLIBRARY_API _declspec(dllexport) #else #define MATHLIBRARY_API _declspec(dllimport) #endif // The Fibonacci recurrence F waar een reeks wordt beschreven) 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 levert deze relatie de bekende Fibonacci // reeks op: 1, 1, 2, 3, 5, 8, 13, 21, 34, … // Initialiseer een Fibonacci-relatiereeks // zodat F(0) = a, F(1) = b. // Deze functie moet vóór elke andere functie worden aangeroepen. extern "C" MATHLIBRARY_API void fibonacci_init(const unsigned long long a, const unsigned long long b); // Produceer de volgende waarde in de reeks. // Retourneert waar bij succes en werkt de huidige waarde en index bij; // false bij overloop, laat de huidige waarde en index ongewijzigd. extern "C" MATHLIBRARY_API bool fibonacci_next(); // Haal de huidige waarde in de reeks op. extern "C" MATHLIBRARY_API unsigned long long fibonacci_current(); // Haal de positie van de huidige waarde in de reeks op. extern "C" MATHLIBRARY_API niet-ondertekende fibonacci_index();

  • De bovenstaande code is een voorbeeldcode die is overgenomen van de website van Microsoft-helpservices.
11227960 12
11227960 12

Stap 12. Voeg het CPP-bestand toe aan het DLL-project

U kunt het toevoegen door te klikken op " Nieuw item toevoegen " van " Project " op de menubalk.

  • Selecteer "Visual C++" in het menu aan de linkerkant van het dialoogvenster.
  • Selecteer "C++ File (.cpp)" in het midden van het dialoogvenster.
  • Typ de naam "MathLibrary.cpp" in het naamveld onder de menu-opties.
  • Klik op “Toevoegen” om een leeg bestand aan te maken.
11227960 13
11227960 13

Stap 13. Typ de volgende code in het lege bestand

    // MathLibrary.cpp: definieert de geëxporteerde functies voor de DLL. #include "stdafx.h" // gebruik pch.h in Visual Studio 2019 #include #include #include "MathLibrary.h" // Interne DLL-statusvariabelen: static unsigned long long previous_; // Vorige waarde, indien aanwezig statische unsigned long long current_; // Huidige sequentiewaarde static unsigned index_; // Huidige volgende. position // Initialiseer een Fibonacci-relatiereeks // zodat F(0) = a, F(1) = b. // Deze functie moet vóór elke andere functie worden aangeroepen. void fibonacci_init(const unsigned long long a, const unsigned long long b) { index_ = 0; huidige_ = een; vorige_ = b; // zie speciaal geval bij initialisatie } // Produceer de volgende waarde in de reeks. // Retourneert waar bij succes, onwaar bij overloop. bool fibonacci_next() {// controleer of we het resultaat of de positie zouden overlopen if ((ULLONG_MAX - previous_ <current_) || (UINT_MAX == index_)) { return false; } // Speciaal geval wanneer index == 0, retourneer gewoon b-waarde if (index_> 0) { // bereken anders de volgende reekswaarde previous_ += current_; } std::swap(huidige_, vorige_); ++index_; retourneer waar; } // Haal de huidige waarde in de reeks op. unsigned long long fibonacci_current() { return current_; } // Haal de huidige indexpositie in de reeks op. unsigned fibonacci_index() { return index_; }

  • De bovenstaande code is een voorbeeldcode die is overgenomen van de website van Microsoft-helpservices.
11227960 14
11227960 14

Stap 14. Klik op Bouwen in de menubalk

Deze optie staat bovenaan het projectgebied (Windows) of bovenaan het scherm (Mac).

11227960 15
11227960 15

Stap 15. Klik op Oplossing bouwen

Nadat op de optie is geklikt, ziet u tekst als deze:

    1>------ Build gestart: Project: MathLibrary, Configuratie: Debug Win32 ------ 1>MathLibrary.cpp 1>dllmain.cpp 1>Code genereren… 1> Bibliotheek maken C:\Users\gebruikersnaam \Source\Repos\MathLibrary\Debug\MathLibrary.lib en 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 (gedeeltelijke PDB) ========== Build: 1 geslaagd, 0 mislukt, 0 up-to-date, 0 overgeslagen ==========

  • Als uw creatie- of DLL-project succesvol is, kunt u dit op deze pagina zien. Als er een fout in het project is, wordt een fout weergegeven zodat u deze kunt herstellen.

Aanbevolen: