Dynamic Linking Library

Previzualizare referat:

Extras din referat:

Nivel : Intermediar/Avansat

I.INTRODUCERE IN FUNCTIILE DE TIP DLL

DLL-urile reprezinta pentru necunoscatori niste module executabile care contin cod si date si care pot fi folosite de catre alte aplicatii Windows. Apelurile de functii API sunt de fapt apeluri de functii stocate in DLL-uri. Motivul principal pentru care au fost introduse DLL-urile este urmatorul : ocuparea a cat mai putina memorie in cazul in care ruleaza mai multe aplicatii care folosesc aceeasi functie,procedura. Exemplu : cream 2 programele care prezinta fiecare cate un TForm iar pe fiecare dintre ele un TButton si cate 2 TEdit-uri. Sa presupun ca respectivele butoane prin clickuirea lor va trebui sa execute suma numerelor din cele 2 TEdit-uri, iar la urma sa le afiseze printr-un mesaj. Ar exista mai multe metode dintre care eu as prezenta 2 : creearea a doua functii de executare a sumei(cate una pentru fiecare program) sau realizarea unei functii care sa fie apelata de cele 2 programe. In mod logic din punct de vedere al memoriei (si mai putin al timpului de executie) metoda care ne convine ar fi a doua. Insa exemplul pe care vi l-am data cum nu este prea elocvent. Dar ca sa va dati seama ma bine hai sa ne gandim la jocuri. Jocurile mari (cum sunt cele aparute chiar din 2002-2004) utilizeaza astfel de librarii pentru micsorarea semnificativa a memoriei, pentru ca altfel cerintele de rulare ale softului vor creste foarte mult (in special RAM-ul PC-ului) iar cumulat cu instalarea pe calculator a unui antivirus (care si el ia destul de mult RAM) + a altor programe(pachetul Office, etc.) ar duce la cheltuirea a multi bani pe componente hardware. Chiar daca astazi mai merge cum mai merge, ar trebui sa ne gandim la primele versiuni Windows care dispuneau de PC cu 256 KB RAM. Avantajele utilizarii bibliotecilor de tip DLL in crearea unui soft sunt astfel multiple , as aminti aici salvarea spatiului de pe disc, posibilitatea de a innoi si adauga lucruri noi unui soft, fara modificarea lui in intregime.

Din punct de vedere al realizarii lui, un DLL este foarte asemanator unui Unit, intre cele doua obiecte existand unele mici deosebiri : unit-ul poate fi folosit doar in proiectele Delphi, din cauza ca are un format recunoscut doar de aplicatiile Pascal (begin end; , for i:=0 to 20 do, etc.), pe cand DLL-ul poate fi folosit de catre orice aplicatii Windows, din cauza ca el contine direct cod executabil(poate fi folosit si de C++ Builder, Visual Basic etc.) ; unit-ul poate exporta date si functii sau proceduri, pe cand DLL-ul poate exporta numai functii sau proceduri ; unit-urile trebuie sa fie prezente la faza de linkeditare a aplicatiei, pe cand DLL-ul trebuie sa fie prezent doar in faza de executie a aplicatiei, linkeditarea putandu-se face si in absenta ei.

II.CREAREA PROPRIU-ZISA A DLL-URILOR

Mediul Delphi usureaza munca depusa de utilizator in crearea DLL-urilor, si anume prin selectarea item-ului (File>New>Other>New>DLL Wizard)[vezi poza 1.1] este creat un fisier avand structura urmatoare (vezi poza 1.2).

Poza 1.1

Poza 1.2

Primul cuvant este library desemnand faptul ca avem de a face cu o biblioteca de functii si proceduri. In comentariul de mai jos (de cuvantul library), Delphi ne avertizeaza ca in cazul in care exportam functii sau exportam proceduri care au ca parametri siruri de caractere, atunci trebuie ca primul Unit din clauza Uses sa fie (atat in DLL, cat si in aplicatia care foloseste unit-ul) ShareMem.pas, care de fapt este o interfata la DelphiMM.dll.

Revenind la structura DLL-ului, functiile, procedurile, tipurile de date si variabilele se declara ca intr-un unit normal. Ceea ce este diferit in structura unui DLL este faptul ca pentru a exporta o functie sau o procedura mai trebuie inserata o constructie “exports” in care vor fi enumerate toate metodele exportate spre exterior. Sintaxa unei astfel de constructii este urmatoarea :

Cod

Exports

Identificator Metoda NumeFunctie/Procedura,

…

;

Observatie: O functie sau o procedura trebuie mai intai declarata, iar abia apoi exportata.

Exemplu DLL:

Cod

library Ex;

Descarcă referat

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Dynamic Linking Library.doc
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Nu
Nota:
7/10 (5 voturi)
Nr fișiere:
1 fisier
Pagini (total):
6 pagini
Imagini extrase:
6 imagini
Nr cuvinte:
1 356 cuvinte
Nr caractere:
7 776 caractere
Marime:
324.99KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Facultate
Tip document:
Referat
Domeniu:
Limbaje de Programare
Tag-uri:
module, cod, sintaxe, programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!