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="<