Documente Academic
Documente Profesional
Documente Cultură
Biblioteci de subprograme
Bibliotec: colecie de subprograme, grupate ntrun singur fiier (compilat) Scop
Reutilizarea codului n mai multe aplicaii Distribuirea ctre ali utilizatori
Tipuri
cod surs, cod binar statice, dinamice
Biblioteci
Variante de lucru
n mod comand cl.exe - compilator lib.exe - manager de biblioteci link.exe - editor de legturi n mediul de programare (IDE) Visual Studio n aceeai soluie (mai multe proiecte) n soluie independent
Biblioteci statice
Codul subprogramelor utilizate este inclus n executabil
Extensie
Windows: Linux: .lib .a
Avantaje
Un singur fiier executabil Din bibliotec se extrage doar codul subprogramelor apelate
Dezavantaje
Dimensiune (mai) mare a fiierului executabil Fiecare executabil va include propria copie a subprogramelor din biblioteca
Biblioteci statice
Fiiere cod surs (.c, .cpp, .h) Compilare Fiiere cod obiect (.obj)
Manager biblioteci
Compilare
//afisare matrice patrata //citire matrice patrata cu alocare //_getch(); I adresa matrice, dimensiune // I } //// E E - adresa matrice, dimensiune void afisare_matrice(double** a, int m) double** citire_matrice(int *m); { int i,j; //cout<<"\nMatricea este: \n"; //afisare matrice patrata for(i=0;i<m;i++) // I - adresa matrice, dimensiune { for(j=0;j<m;j++) // E printf_s("%10.6lf ",a[i][j]); void afisare_matrice(double** a, int m); printf_s("\n"); } printf_s("\n"); }
Biblioteci dinamice
Codul subprogramelor utilizate este separat de executabil
Extensie
Windows: Linux: .dll .so
Avantaje
Dimensiune (mai) mic a executabilului Biblioteca este utilizat n paralel de mai multe aplicaii
Dezavantaje
Mai multe fiiere (executabil + biblioteci dinamice) Timp suplimentar la execuie Asigurarea accesului la bibliotec (calea curent, PATH)
Biblioteci dinamice
Fiiere cod surs (.c, .cpp, .h) Compilare Fiiere cod obiect (.obj) Tabela de import (.lib)
Editare de legturi
Compilare
Biblioteci dinamice
Crearea i utilizarea este asemntoare cu a bibliotecilor statice Diferene
Antetul funciilor trebuie s conin (doar n .h) __declspec(dllexport) La execuie, fiierul .dll trebuie s poat fi gsit
Biblioteci
Comparaie dimensiuni
Static (.lib) L.C.
matrice.h matrice.lib matrice.dll test.exe
Dinamic (.dll) L.C. 1.165 B 3.656 B 82.432 B 33.280 B IDE 1.165 B 3.656 B 31.232 B 29.184 B 989 B
Biblioteci de funcii
Tem
Creai i testai o bibliotec format din funciile necesare prelucrrii vectorilor Bibliotec static
Lucrai n mod comand Lucrai n IDE
Bibliotec dinamic
Lucrai n mod comand Lucrai n IDE
Tema va fi prezentat la nceputul probei practice i este condiie de intrare la proba practic
Biblioteci statice
g++ -c matrice.cpp
functii.o ar rcs libmatrice.a matrice.o libfunctii.a g++ -static main.cpp L./ -lmatrice o main.out main.out ./main.out
Spor la nvat!