I file DLL (dall'inglese Dynamic-Linked Library) rappresentano delle librerie dinamiche di Windows create e gestite tramite il linguaggio di programmazione C++. Lo scopo delle DLL è quello di semplificare la condivisione e la gestione del codice di programmazione. Questo articolo spiega come creare un file DLL usando Visual Studio, un'app per Windows oppure Visual Studio per Mac. Durante l'installazione, assicurati che il pulsante di spunta "Sviluppo di applicazioni desktop con C++" sia selezionato. Se hai già installato Visual Studio, ma non hai incluso l'installazione del componente indicato, dovrai eseguire nuovamente la procedura guidata di installazione per aggiornare il tuo ambiente di sviluppo.

Passaggi

  1. 1
    Avvia Visual Studio. Puoi farlo dal menu "Start" o dalla cartella "Applicazioni". Dato che un file DLL non è altro che una libreria contenente del codice compilato, si tratta solo di un piccolo pezzo di un progetto e spesso richiede l'uso di un'applicazione per poter essere utilizzato o per avere accesso al suo contenuto.
  2. 2
    Clicca sul menu File. È collocato nella parte superiore della finestra del programma (in Windows) oppure dello schermo (su Mac).
  3. 3
    Clicca sulla voce Nuovo e scegli l'opzione Progetto. Verrà visualizzata la finestra di dialogo "Crea un nuovo progetto".
  4. 4
    Imposta le opzioni relative a Linguaggio, Piattaforma e Tipo di progetto. Si tratta di una serie di filtri in base ai quali verrà creato l'elenco dei modelli di progetti a tua disposizione.
    • Clicca sul menu a discesa Linguaggio e clicca sull'opzione C++.
  5. 5
    Clicca sul menu a discesa Piattaforma e scegli l'opzione Windows.
  6. 6
    Clicca sul menu Tipo di progetto e scegli l'opzione Libreria.
  7. 7
    Clicca sulla voce Libreria a collegamento dinamico (DLL). L'opzione selezionata verrà visualizzata in blu. A questo punto clicca sul pulsante Avanti per continuare.
  8. 8
    Assegna un nome al tuo progetto digitandolo nella casella di testo "Nome". Per esempio, usa il nome "MathLibrary".
  9. 9
    Clicca sul pulsante Crea. Il progetto per la creazione di una DLL verrà preparato automaticamente da Visual Studio
  10. 10
    Aggiungi un file di intestazione per la DLL. Clicca sull'opzione "Aggiungi nuovo elemento" dal menu "Progetto".
    • Seleziona l'opzione Visual C++ dal menu collocato sul lato sinistro della finestra di dialogo apparsa.
    • Seleziona la voce File di intestazione (.h) dal riquadro principale della finestra di dialogo.
    • Digita il nome "MathLibrary.h" nel campo di testo visibile nella parte inferiore della finestra.
    • Clicca sul pulsante Aggiungi per generare un file di intestazione vuoto.
  11. 11
    Inserisci il seguente codice sorgente all'interno del file di intestazione che hai appena creato. Il codice di esempio è stato fornito direttamente dal sito web della Microsoft.
      // MathLibrary.h - Contains declarations of math functions
      #pragma once
      #ifdef MATHLIBRARY_EXPORTS
      #define MATHLIBRARY_API __declspec(dllexport)
      #else
      #define MATHLIBRARY_API __declspec(dllimport)
      #endif
      
      // The Fibonacci recurrence relation describes a sequence F
      // where F(n) is { n = 0, a
      //               { n = 1, b
      //               { n > 1, F(n-2) + F(n-1)
      // for some initial integral values a and b.
      // If the sequence is initialized F(0) = 1, F(1) = 1,
      // then this relation produces the well-known Fibonacci
      // sequence: 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
      
      // Initialize a Fibonacci relation sequence
      // such that F(0) = a, F(1) = b.
      // This function must be called before any other function.
      extern "C" MATHLIBRARY_API void fibonacci_init(
          const unsigned long long a, const unsigned long long b);
      
      // Produce the next value in the sequence.
      // Returns true on success and updates current value and index;
      // false on overflow, leaves current value and index unchanged.
      extern "C" MATHLIBRARY_API bool fibonacci_next();
      
      // Get the current value in the sequence.
      extern "C" MATHLIBRARY_API unsigned long long fibonacci_current();
      
      // Get the position of the current value in the sequence.
      extern "C" MATHLIBRARY_API unsigned fibonacci_index();
      
    • Il codice di esempio è reperibile direttamente sul sito web della Microsoft relativo alla documentazione online
  12. 12
    Aggiungi un file CPP alla DLL. Clicca sull'opzione Aggiungi nuovo elemento dal menu "Progetto".
    • Seleziona la voce "Visual C++" dal menu collocato sul lato sinistro della finestra.
    • Scegli la voce "File C++ (.cpp)" dal riquadro centrale della finestra.
    • Digita il nome "MathLibrary.cpp" all'interno del campo "Nome" collocato nella parte inferiore della finestra.
    • Clicca sul pulsante Aggiungi per generare un file vuoto.
  13. 13
    Incolla il seguente codice all'interno del file vuoto che hai appena creato.
      // MathLibrary.cpp : Defines the exported functions for the DLL.
      #include "stdafx.h" // use pch.h in Visual Studio 2019
      #include <utility>
      #include <limits.h>
      #include "MathLibrary.h"
      
      // DLL internal state variables:
      static unsigned long long previous_;  // Previous value, if any
      static unsigned long long current_;   // Current sequence value
      static unsigned index_;               // Current seq. position
      
      // Initialize a Fibonacci relation sequence
      // such that F(0) = a, F(1) = b.
      // This function must be called before any other function.
      void fibonacci_init(
          const unsigned long long a,
          const unsigned long long b)
      {
          index_ = 0;
          current_ = a;
          previous_ = b; // see special case when initialized
      }
      
      // Produce the next value in the sequence.
      // Returns true on success, false on overflow.
      bool fibonacci_next()
      {
          // check to see if we'd overflow result or position
          if ((ULLONG_MAX - previous_ < current_) ||
              (UINT_MAX == index_))
          {
              return false;
          }
      
          // Special case when index == 0, just return b value
          if (index_ > 0)
          {
              // otherwise, calculate next sequence value
              previous_ += current_;
          }
          std::swap(current_, previous_);
          ++index_;
          return true;
      }
      
      // Get the current value in the sequence.
      unsigned long long fibonacci_current()
      {
          return current_;
      }
      
      // Get the current index position in the sequence.
      unsigned fibonacci_index()
      {
          return index_;
      }
      
    • Il codice di esempio è reperibile direttamente sul sito web della Microsoft relativo alla documentazione online.
  14. 14
    Clicca sul menu Compilazione. È collocato nella parte superiore della finestra del progetto (in Windows) o lungo il lato superiore dello schermo (su Mac).
  15. 15
    Clicca sull'opzione Compila soluzione. Dopo aver cliccato sull'opzione indicata vedrai apparire un testo simile al seguente:
      1>------ Inizio compilazione: Progetto: MathLibrary, Configurazione: Debug Win32 ------
      1>MathLibrary.cpp
      1>dllmain.cpp
      1>Generazione del codice...
      1>Creazione libreria C:\Users\username\Source\Repos\MathLibrary\Debug\MathLibrary.lib e oggetto 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)
      ========== Compilazione: 1 completate, 0 non riuscite, 0 aggiornate, 0 ignorate ==========
      
    • Se la creazione della DLL è andata a buon fine, all'interno della finestra "Output" di Visual Studio vedrai apparire il testo indicato. Se sono stati rilevati degli errori nel codice, vedrai apparire l'elenco in modo da poterli correggere.[1]
    Pubblicità

Informazioni su questo wikiHow

Lo Staff di wikiHow
Co-redatto da:
Staff di wikiHow - Redazione
Questo articolo è stato scritto in collaborazione con il nostro team di editor e ricercatori esperti che ne hanno approvato accuratezza ed esaustività.

Il Content Management Team di wikiHow controlla con cura il lavoro dello staff di redattori per assicurarsi che ogni articolo incontri i nostri standard di qualità. Questo articolo è stato visualizzato 2 548 volte
Categorie: Windows
Pubblicità