Biblioteka izvršavanja

U programiranju, biblioteka izvršavanja jeste skup jednostavnijih rutina koje koristi programski prevodilac kako bi proizveo način rada karakterističan za izvršno okruženje, ubacujući komande u biblioteku, prevodi ih u binarni kod i onda izvršava. Izvršno okruženje implementira izvršni model, ugrađene funkcije, i ostale fundamentalne načine rada programskog jezika. Prilikom izvršenja programa (rantajma), izvršenje svih komandi navedenih u biblioteci izvršavanja omogućava komunikaciju komandi izvršenih u binarnom i izvršnom okruženju. Biblioteka izvršavanja često ima ugrađene funkcije za organizaciju memorije ili za rukovanje izuzecima.[1] Dakle, biblioteka izvršavanja je specifikacija platforme i prevodioca.

Iako biblioteka izvršenja koristi deo načina rada izvršnog sistema, kada se čitaju kodovi dostupnih komandi, uglavnom izgledaju kao mali paketi jednostavnih informacija, koji se šalju ili izvršnom ili operativnom sistemu. Ipak, nekad je termin biblioteka izvršavanja značio da biblioteka sadrži i kodove izvršnog sistema, iako je većina tih kodova nedostupna ako se koriste komande biblioteke izvršavanja. 

Na primer, neke karakteristike programskog jezika koje se ne mogu izvršiti (ili nisu dovoljno efikasne ili tačne) samo u izvršnom direktorijumu, mogu biti izvršene preko API biblioteke izvršavanja, to su npr, neke logičke greške, provera granica nizova, dinamična provera kucanja, izuzetni slučajevi i moguće otklanjanje grešaka. Iz ovih razloga, neke greške u programu nisu detektovane sve dok se program ne testira u "živom" okruženju sa pravim podacima, uprkos sofisticiranim proverama i testiranjima obavljenim dokom razvoja programa.

Još jedan primer, biblioteka izvršavanja može da sadrži kod za ugrađene, jednostavnije operacije koje su prekomplikovane da bi se linijski proširile tokom prevođenja podataka. Primer za to je implementacija aritmetičkih operacija koje mikroprocesor koji korisimo ne podržava, ili razne specijalne operacije prevodioca i/ili njegove naredbe.[1][2]

Koncept biblioteke izvršavanja se ne bi trebalo mešati sa običnom programskom bibliotekom koju kreireju programeri aplikacija ili su dostavljene od strane trećeg lica, niti sa dinamičkom bibliotekom. Programska biblioteka je povezana sa vremenom izvršenja. Npr, programski jezik C zauzima jako malo mesta u biblioteci izvršavanja (obično se naziva crt0), ali zauzima veliki deo standardne programske biblioteke (C standardna biblioteka) koja se mora obezbediti pri svakom implementiranju.[3]

Reference uredi

  1. ^ a b „The GCC low-level runtime library”. GCC Introduction. gnu.org. Pristupljeno 30. 12. 2013. 
  2. ^ „Other Built-in Functions Provided by GCC”. GCC Introduction. gnu.org. Pristupljeno 30. 12. 2013. 
  3. ^ „The C Runtime Initialization, crt0.o”. embecosm.com. 2010. Pristupljeno 30. 12. 2013. 

Spoljašnje veze uredi