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]

Extensii de nume de fișiere ale bibliotecilor dinamice în diferite sisteme de operare
Extensie OS Decriptare Notă
so UNIX Engleză  este împărtășită despre obiect
dylib MacOS Engleză  biblioteca dinamică _ _
library Amiga OS Stocat în volumul logic Libs :
dll Sistem de operare Microsoft Windows / 2 Engleză  biblioteca l cerneală dinamică _ _

În funcție de scop, există:

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:

Defecte:

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 .

Extensie OS
" a" UNIX
" lib" Microsoft Windows

Bibliotecile standard ale multor limbaje de programare compilate ( Fortran , Pascal , C , C++ și altele) sunt distribuite ca fișiere obiect.

Avantaje:

Defecte:

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

  1. Wilkes MV, Wheeler DJ, Gill S. Pregătirea programelor pentru un computer digital electronic. - Addison-Wesley, 1951.
  2. ^ Wilks M., Wheeler D., Gill S. „Programare pentru mașini de calcul electronice”. Editura Literatură străină, 1953
  3. 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.
  4. Savelev A.M. APLICAREA BIBLIOTECEI DINAMICE TRANLIB PENTRU CALCULUL PROPRIETĂȚILOR DE TRANSPORT ALE AMESTECURILOR DE GAZ REACTIONATE  (rus.)  // Jurnal „Motoare de avioane”. — 2019.
  5. Robert Elder. Interfețele sunt un concept esențial în dezvoltarea de software . — 2020. Arhivat 6 martie 2021.
  6. jsmanifest. Linker în JavaScript . — 2020. Arhivat la 11 septembrie 2020.
  7. Compilarea fișierelor Python Arhivat 6 februarie 2021 la Wayback Machine . Documentația Python la docs.python.org.
  8. 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ă