Библиотека извршавања

У програмирању, библиотека извршавања јесте скуп једноставнијих рутина које користи програмски преводилац како би произвео начин рада карактеристичан за извршно окружење, убацујући команде у библиотеку, преводи их у бинарни код и онда извршава. Извршно окружење имплементира извршни модел, уграђене функције, и остале фундаменталне начине рада програмског језика. Приликом извршења програма (рантајма), извршење свих команди наведених у библиотеци извршавања омогућава комуникацију команди извршених у бинарном и извршном окружењу. Библиотека извршавања често има уграђене функције за организацију меморије или за руковање изузецима.[1] Дакле, библиотека извршавања је спецификација платформе и преводиоца.

Иако библиотека извршења користи део начина рада извршног система, када се читају кодови доступних команди, углавном изгледају као мали пакети једноставних информација, који се шаљу или извршном или оперативном систему. Ипак, некад је термин библиотека извршавања значио да библиотека садржи и кодове извршног система, иако је већина тих кодова недоступна ако се користе команде библиотеке извршавања. 

На пример, неке карактеристике програмског језика које се не могу извршити (или нису довољно ефикасне или тачне) само у извршном директоријуму, могу бити извршене преко АПИ библиотеке извршавања, то су нпр, неке логичке грешке, провера граница низова, динамична провера куцања, изузетни случајеви и могуће отклањање грешака. Из ових разлога, неке грешке у програму нису детектоване све док се програм не тестира у "живом" окружењу са правим подацима, упркос софистицираним проверама и тестирањима обављеним доком развоја програма.

Још један пример, библиотека извршавања може да садржи код за уграђене, једноставније операције које су прекомпликоване да би се линијски прошириле током превођења података. Пример за то је имплементација аритметичких операција које микропроцесор који корисимо не подржава, или разне специјалне операције преводиоца и/или његове наредбе.[1][2]

Концепт библиотеке извршавања се не би требало мешати са обичном програмском библиотеком коју креиреју програмери апликација или су достављене од стране трећег лица, нити са динамичком библиотеком. Програмска библиотека је повезана са временом извршења. Нпр, програмски језик C заузима јако мало места у библиотеци извршавања (обично се назива crt0), али заузима велики део стандардне програмске библиотеке (Ц стандардна библиотека) која се мора обезбедити при сваком имплементирању.[3]

Референце уреди

  1. ^ а б „The GCC low-level runtime library”. GCC Introduction. gnu.org. Приступљено 30. 12. 2013. 
  2. ^ „Other Built-in Functions Provided by GCC”. GCC Introduction. gnu.org. Приступљено 30. 12. 2013. 
  3. ^ „The C Runtime Initialization, crt0.o”. embecosm.com. 2010. Приступљено 30. 12. 2013. 

Спољашње везе уреди