Библиотека извршавања — разлика између измена

Садржај обрисан Садржај додат
Autobot (разговор | доприноси)
м ciscenje
Autobot (разговор | доприноси)
м Dodavanje datuma u šablone za održavanje i/ili sredjivanje referenci
Ред 2:
{{Извршење програма}}
 
У [[Програмирање|програмирању]], '''библиотека извршавања''' јесте скуп једноставнијих рутина које користи [[Компилатор|програмски преводилац]] како би произвео начин рада карактеристичан за [[Систем извршавања|извршно окружење]], убацујући команде у библиотеку, преводи их у бинарни код и онда извршава. Извршно окружење имплементира извршни модел, уграђене функције, и остале фундаменталне начине рада [[Програмски језик|програмског језика]]. Приликом извршења [[Рачунарски програм|програма]] ([[Рантајм|рантајма]]), извршење свих команди наведених у библиотеци извршавања омогућава комуникацију команди извршених у бинарном и извршном окружењу. Библиотека извршавања често има уграђене функције за организацију меморије или за [[Изузетак (програмирање)|руковање изузецима]].<ref name="gcc-runtime">{{Cite web|url = http://gcc.gnu.org/onlinedocs/gccint/Libgcc.html|title = The GCC low-level runtime library|work = GCC Introduction|accessdate = 2013-12-30. 12. 2013|publisher = gnu.org}}</ref> Дакле, библиотека извршавања је спецификација платформе и преводиоца.
 
Иако библиотека извршења користи део начина рада извршног система, када се читају кодови доступних команди, углавном изгледају као мали пакети једноставних информација, који се шаљу или извршном или оперативном систему. Ипак, некад је термин ''библиотека извршавања'' значио да библиотека садржи и кодове извршног система, иако је већина тих кодова недоступна ако се користе команде библиотеке извршавања. 
Ред 8:
На пример, неке карактеристике програмског језика које се не могу извршити (или нису довољно ефикасне или тачне) само у извршном директоријуму, могу бити извршене преко АПИ библиотеке извршавања, то су нпр, неке логичке грешке, провера граница низова, динамична провера куцања, изузетни случајеви и могуће отклањање грешака. Из ових разлога, неке грешке у програму нису детектоване све док се програм не тестира у "живом" окружењу са правим подацима, упркос софистицираним проверама и тестирањима обављеним доком развоја програма.
 
Још један пример, библиотека извршавања може да садржи код за уграђене, једноставније операције које су прекомпликоване да би се [[Линијско проширење|линијски прошириле]] током превођења података. Пример за то је имплементација аритметичких операција које микропроцесор који корисимо не подржава, или разне специјалне операције преводиоца и/или његове наредбе.<ref name="gcc-runtime">{{Cite web|url = http://gcc.gnu.org/onlinedocs/gccint/Libgcc.html|title = The GCC low-level runtime library|work = GCC Introduction|accessdate = 2013-12-30. 12. 2013|publisher = gnu.org}}</ref><ref>{{Cite web|url = http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#Other-Builtins|title = Other Built-in Functions Provided by GCC|work = GCC Introduction|accessdate = 2013-12-30. 12. 2013|publisher = gnu.org}}</ref>
 
Концепт ''библиотеке извршавања'' се не би требало мешати са обичном [[Библотека (рачунарство)|програмском библиотеком]] коју креиреју програмери апликација или су достављене од стране трећег лица, нити са [[Динамички повезивач|динамичком библиотеком]]. Програмска библиотека је повезана са временом извршења. Нпр, [[C (програмски језик)|програмски језик C]] заузима јако мало места у библиотеци извршавања (обично се назива <code>crt0</code>), али заузима велики део стандардне програмске библиотеке ([[C стандардна библиотека|Ц стандардна библиотека]]) која се мора обезбедити при сваком имплементирању.<ref>{{Cite web|url = http://www.embecosm.com/appnotes/ean9/html/ch05s02.html|title = The C Runtime Initialization, crt0.o|year=2010|accessdate = 2013-12-30. 12. 2013|publisher = embecosm.com}}</ref>
 
== Референце ==