Utilizarea unei biblioteci DLL – Dynamic Link Library in C++ sub Visual Studio 2008

Utilizarea elementelor de programare incluse in biblioteci DLL […] se realizeaza in aplicatii C++ cu respectarea anumitor reguli precizate mai jos.
Pentru a utiliza o biblioteca DLL in limbajul de programare C++ sub mediul de programare Visual Studio, se procedeaza astfel:

  • Crearea unui proiect C++ de tip Console application;
  • Definirea continutului pentru fisierul sursa care utilizeaza elemente incluse in biblioteca DLL;
  • Crearea fisierului executabil.


Crearea unui proiect C++ pentru dezvoltarea unei fisier DLL presupune:

  • Lansarea in executie a mediului de programare Visual Studio 2008;
  • Crearea unui proiect nou prin lansarea comenzii File/New/Project…;
  • Selectarea tipului de proiect Visual C++/Win32;
  • Selectarea sablonului de proiect din zona Templates ca Win32 Console Application;
  • Atribuirea denumirii proiectului in controlul Name si a denumirii de solutie in controlul Solution Name; proiectul va fi inclus ca subdirector al solutiei Visual Studio 2008;
  • Apasarea butonului OK lanseaza in executie aplicatia Win32 Application Wizard in care se selecteaza Application Settings;
  • In Application type se activeaza controlul radio Console application, iar in Additional options se activeaza controlul Empty project;
  • Crearea proiectului se incheie prin apasarea butonului Finish.

Definirea continutului pentru fisierul aplicatie C++ consta in:

  • Crearea fisierului header, extensia .h;
  • Precizarea continutului pentru fisierul DLL cu specificarea modificatorului de import dintr-un fisier DLL;
  • Crearea fisierului sursa C++ pentru utilizarea/apelul elementelor precizate in fisierul header;
  • Implementarea functionalitatilor aplicatiei in fisierul sursa C++;
  • Specificarea bibliotecii DLL utilizata pentru dezvoltarea aplicatiei C++.

Crearea fisierului header in cadrul proiectului C++ definit presupune:

  • Activare meniu contextual asociat proiectului prin clic dreapta pe denumirea proiectului in cadrul ferestrei Solution Explorer din mediul Visual Studio 2008;
  • Lansare comanda Add/New Item… din meniul contextual asociat proiectului;
  • In caseta de dialog Add New Item se selecteaza Categories cu Visual C++/Code;
  • Din lista de sabloane pusa la dispozitie in Templates se selecteaza Header File (.h);
  • In controlul Name se introduce denumirea fisierului header cu extensia .h;
  • Apasarea butonului Add determina includerea in proiect a unui fisier header, fara a avea insa un continut.

Precizarea continutului pentru fisierul DLL utilizat cu specificarea modificatorului de import dintr-un fisier DLL se realizeaza in fisierul header si consta in precizarea elementelor componente ale bibliotecii DLL. Pentru cele patru functii implementate la […], utilizarea acestor functii se realizeaza cu ajutorul modificatorului de import DLL __declspec(dllimport) ce permite importul celor patru functii dintr-un fisier DLL. Fisierul header are urmatorul continut:

__declspec(dllimport) double Adunare(double, double);
__declspec(dllimport) double Scadere(double, double);
__declspec(dllimport) double Inmultire(double, double);
__declspec(dllimport) double Impartire(double, double);

Crearea fisierului sursa C++ in cadrul proiectului definit consta in:

  • Activare meniu contextual asociat proiectului in cadrul ferestrei Solution Explorer din mediul Visual Studio 2008;
  • Lansare comanda Add/New Item… din meniul contextual asociat proiectului;
  • In caseta de dialog Add New Item se selecteaza Categories cu Visual C++/Code;
  • Din lista de sabloane pusa la dispozitie in Templates se selecteaza C++ File (.cpp);
  • In controlul Name se introduce denumirea fisierului cod sursa C++ cu extensia .cpp;
  • Apasarea butonului Add determina includerea in proiect a unui fisier cod sursa C++ fara continut.

Implementarea functionalitatilor pentru aplicatia C++ are loc in fisierul cod sursa C++, cu extensia .cpp, si consta in scrierea codului sursa asociat functionalitatilor proiectate si utilizarea celor patru functii din biblioteca DLL CreareDLLProj obtinuta prin procedura descrisa la […]. Fisierul sursa C++ are urmatorul continut:

#include "UseDLL.h"
#include 

using namespace std;

void main(){
	double x,y;
	x=3.45;
	y=2.63;
	double s=Adunare(x,y);
	cout<<"x+y="<