Crearea unui DLL

In AutoIt nu se pot crea DLL-uri (Dinamic Link Library). Aceasta lectie este prezentata cu scopul de a invata ce este un DLL, cum se creaza unul si de a vedea conventiile folosite la apelarea functiilor pe care le detin.

 

Pentru aceasta lectie aveti nevoie de VC++ 2010 Express (pentru a putea urmari lectia in detaliu)  sau orice alt compilator cu care va descurcati si permite crearea bibliotecilor de functii dinamice.

 

Se incepe cu crearea unui proiect nou.

 

Ar trebui sa va apara o fereastra ca si cea de mai jos (clic pe imagine pentru zoom).

Selectati un template Class Library si scrieti un nume pentru noul proiect (in acest caz numele este “Exemplu”).

Daca ati urmat pasii pana aici, trebuie sa vedeti toate fisierele care le contine noul dumneavoastra proiect in “Solution Explorer”.

Fisierul care ne intereseaza este “Exemplu.cpp” (numele difera in functie de numele pe care l-ati ales pentru proiect). Pentru a accesa fisierul executati dublu clic pe fisier si va aparea o fereastra ca si cea de mai jos. Pe aceasta fereastra si pe modificarile pe care le aducem fisierului “Exemplu.cpp” ne vom muta atentia in continuare.

Spre exemplu vom scrie o implementare a functiei factorial pe care o vom folosi ulterior in AutoIt. Un exemplu de implementare poate fi urmatorul:

Nu vom insista pe codul sursa dar de precizat este faptul ca se foloseste cuvantul cheie extern urmat de stringul “C” pentru a specifica exportul simbolurilor folosind conventia limbajul C, implicit pentru a putea accesa functia din AutoIt. Pentru a specifica ca avem nevoie de functie pentru apeluri externe se foloseste cuvantul cheie __declspec cu modificatorul dllexport. Se mai poate observa ca functia va returna un int (integer) si ca are un parametru numit n care este tot un int. Numele cu care va fi apelata functia este “Factorial”. Dupa ce ati scris liniile de cod ca si in exemplul de mai sus apasati F7 pentru a compila DLL-ul. In consola ar trebui sa apara urmatoarele:

Urmand calea specificata in consola veti gasi DLL-ul creat iar in lectia urmatoare vom invata cum sa apelam functia “Factorial” pe care o contine.


* Pentru orice intrebari sau nelamuriri legate de curs sau limbajul AutoIt accesati sectiunea AutoIt a forumului SkullBox sau platforma de suport tehnic NetHelp.