Biblioteca (programare)
Bibliotecă (din engleză library ) în programare - o colecție de subrutine sau obiecte utilizate pentru a dezvolta software (software). Din punct de vedere al sistemului de operare (OS) și al aplicației software , bibliotecile sunt împărțite în dinamice și statice.
Termenul „bibliotecă de subrutine”, aparent, a fost printre primele menționate de Wilks M. , Wheeler D. , Gill S. ca una dintre formele de organizare a calculelor pe calculator [1] [2] . Pe baza celor afirmate în cartea lor, biblioteca a fost înțeleasă ca un set de „programe scurte, pregătite în prealabil pentru operații de calcul individuale, care apar frecvent (standard)” [3] .
Biblioteci pentru limbaje compilate
Biblioteci dinamice
O bibliotecă dinamică este un fișier care conține cod de mașină . Încărcat în memoria procesului de către încărcătorul de programe al sistemului de operare, fie când procesul este creat, fie la solicitarea unui proces care rulează deja , adică dinamic. [patru]
În funcție de scop, există:
- Biblioteci utilizate de un singur program și care conțin funcții critice pentru funcționarea programului. Dezavantaj: în lipsa unei biblioteci, programul nu va putea funcționa;
- Biblioteci utilizate de un singur program și care conțin funcționalități suplimentare. De exemplu, bibliotecile de pluginuri sunt folosite pentru a extinde funcționalitatea unui program;
- Biblioteci partajate ( ing. bibliotecă partajată ). Conțin funcții utilizate de mai multe programe. Acestea pot fi încărcate în spațiul de adrese ale sistemului de operare ( de exemplu , bibliotecă de sistem ) pentru a economisi memorie : o copie a bibliotecii va fi folosită de mai multe procese. Din cauza acestei din urmă circumstanțe, astfel de biblioteci sunt adesea numite partajate .
Când scrieți un program, este suficient ca un programator să spună traducătorului ( compilator sau interpret ) calea către bibliotecă și numele funcției . Nici textul sursă al funcției și nici codul executabil al acesteia nu vor fi incluse în program.
Avantaje:
- economisirea memoriei datorită utilizării unei biblioteci de către mai multe procese ;
- capacitatea de a corecta erorile (este suficient să înlocuiți fișierul bibliotecă și să reporniți programele care rulează) fără a schimba codul programului principal.
Defecte:
- posibilitatea încălcării API-ului , - atunci când se fac modificări în bibliotecă, programele existente pot înceta să funcționeze (pierde compatibilitatea interfeței [5] );
- conflict de versiuni ale bibliotecilor dinamice , - diferite programe pot avea nevoie de versiuni diferite ale bibliotecii;
- disponibilitatea acelorași funcții la aceleași adrese în procese diferite - simplifică exploatarea vulnerabilităților ( pic (în engleză) a fost inventat pentru a rezolva problema ).
Biblioteci statice
O bibliotecă statică este un fișier obiect sub forma unui fișier (deseori poate fi livrat împreună cu codul sursă), codul din care este inserat selectiv sau complet în program în etapa de legătură.
Bibliotecile distribuite ca cod sursă sunt convertite de către compilator în fișiere obiect . Linker -ul [6] combină apoi fișierele obiect de bibliotecă și fișierele obiect ale programului dvs. într-un singur fișier executabil.
De exemplu, în textele sursă sunt distribuite:
Bibliotecile distribuite ca fișiere obiect sunt gata pentru a fi legate. Linker-ul leagă fișierele obiect ale bibliotecilor și fișierele obiect ale programului dumneavoastră în timpul creării executabilului.
Extensii de fișiere obiect ale bibliotecilor statice în diferite sisteme de operare .
Bibliotecile standard ale multor limbaje de programare compilate ( Fortran , Pascal , C , C++ și altele) sunt distribuite ca fișiere obiect.
Avantaje:
- toate funcțiile necesare sunt incluse într-un singur fișier executabil.
Defecte:
- fișierul executabil ocupă mai mult spațiu pe disc și în memorie (dacă atașează cod din fișierele bibliotecii de obiecte în întregime, și nu selectiv);
- dacă se găsesc erori în bibliotecă, este necesară o reconstruire a tuturor programelor.
Biblioteci pentru limbi interpretate
O bibliotecă este un fișier care conține fie cod într-un limbaj interpretat , fie cod octet pentru o mașină virtuală .
De exemplu, bibliotecile pentru limbajul Python pot fi distribuite fie ca fișiere cu cod sursă (extensia „ py”), fie ca fișiere cu bytecode [7] (extensia „ pyc”, litera „c” din engleză compilată ). Una dintre bibliotecile pentru limbajul Python este Tkinter . [opt]
Vezi și
Note
- ↑ Wilkes MV, Wheeler DJ, Gill S. Pregătirea programelor pentru un computer digital electronic. - Addison-Wesley, 1951.
- ^ Wilks M., Wheeler D., Gill S. „Programare pentru mașini de calcul electronice”. Editura Literatură străină, 1953
- ↑ Volchenskova, Nadezhda Ivanovna, Tehnologia implementării multimașinilor și suportului de viață al bibliotecilor de subrutine de matematică computațională în limbajul Fortran, rezumat pentru disertație, 1984 . Preluat la 9 octombrie 2012. Arhivat din original la 3 mai 2012. (nedefinit)
- ↑ Savelev A.M. APLICAREA BIBLIOTECEI DINAMICE TRANLIB PENTRU CALCULUL PROPRIETĂȚILOR DE TRANSPORT ALE AMESTECURILOR DE GAZ REACTIONATE (rus.) // Jurnal „Motoare de avioane”. — 2019.
- ↑ Robert Elder. Interfețele sunt un concept esențial în dezvoltarea de software . — 2020. Arhivat 6 martie 2021.
- ↑ jsmanifest. Linker în JavaScript . — 2020. Arhivat la 11 septembrie 2020.
- ↑ Compilarea fișierelor Python Arhivat 6 februarie 2021 la Wayback Machine . Documentația Python la docs.python.org.
- ↑ BUKHAROV T.A., NAFIKOVA A.R., MIGRANOVA E.A. Prezentare generală a limbajului de programare PYTHON și a bibliotecilor sale (rusă) // COLOCVIUM-JOURNAL. — 2019.
Literatură
- Nicolae Josutis. Biblioteca standard C++. Pentru profesioniști = Biblioteca standard C++. Un tutorial și referință. - Sankt Petersburg. : Peter, 2004. - 730 p. - ISBN 5-94723-635-4 .
Dicționare și enciclopedii |
|
---|
În cataloagele bibliografice |
|
---|