Běhová knihovna: Porovnání verzí

Smazaný obsah Přidaný obsah
m Milan Keršláger přesunul stránku Runtime knihovna na Běhová knihovna s výměnou přesměrování
runtime -> běhová
Řádek 1:
'''RuntimeBěhová knihovna''' ({{Vjazyce2|en|''runtime library''}}) je v [[Informatika|informatice]] speciální [[Knihovna (programování)|knihovna]] používaná [[Překladač|kompilátorem]] k implementování specifických [[Funkce (programování)|funkcí]], zabudovaných přímo v [[Programovací jazyk|programovacím jazyce]], za běhu [[Počítačový program|programu]] (odtud ''runtime''). Nejčastěji obsahuje funkce používané pro obsluhu standardního vstupu a výstupu z programu nebo správu paměti přidělované [[Operační systém|operačním systémem]].
 
== Charakteristika ==
V okamžiku kdy je kompilátorem [[zdrojový kód]] programu překládán do příslušného cílového jazyka by mohlo dojít k extrémnímu nárůstu počtu řádků [[Zdrojový kód|zdrojového kódu,]] v případě, že by každý příkaz či každé volání předdefinované funkce v původním programu způsobilo vložení celého příslušného podprogramu v cílovém jazyce. Proto kompilátor, než aby vkládal duplicitní řádky kódu, využívá zvláštní funkce uložené v ''runtimeběhové knihovně'', tykteré jsounejsou [[Programátor|programátorovi]] běžně nedostupné a jsou závislé právě na daném kompilátoru. V závislosti na tvůrci kompilátoru, pak může nastat situace, kdy ''runtimeběhová knihovna'' obsahuje také ''[[Standardní knihovna|standardní knihovnu]]'' příslušného kompilátoru nebo naopak je ''runtimeběhová knihovna'' vložena do ''knihovny standardní knihovny''.
 
Také některé funkce, které lze provádět pouze za běhu programu (nebo je jejich užití za běhu účinnější a přesnější) jsou implementovány v ''runtimeběhové knihovně'', například: některé logické chyby, kontrola překročení hranice alokovaného pole, dynamická [[typová kontrola]], manipulace s [[ExceptionVýjimka (programování)|výjimkami]] a případně i [[Ladění (programování)|ladící mechanismy]]. To je důvodem, proč jsou některé chyby, vytvořené při kódování, odhaleny, až pří testování v reálném prostředí při práci s reálnými daty i přesto, že došlo k sofistikované kontrole již v době kompilace i [[Testování softwaru|testování]] před vydáním programu. V tomto případě je uživateli zobrazeno nežádoucí běhové chybové hlášení.
 
''RuntimeBěhová knihovna'' nejčastěji realizuje většinu svých operací pomocí přístupu k operačnímu systému. Celá řada programovacích jazyků má zabudované funkce, které nemusí být nutně realizovány kompilátorem, ale mohou být vloženy do ''runtimeběhové knihovny''. Takže hranice mezi ''runtimeběhovou'' a ''standardní knihovnou'' je silně závislá na tvůrci kompilátoru, ale vždy je nutné pamatovat na to, že ''runtimeběhová knihovna'' je závislá jak na kompilátoru tak také na počítačové platformě ([[hardware]], operační systém...).
 
Koncepce ''runtimeběhové knihovny'' by se neměla zaměňovat s koncepcí běžně naprogramovaných knihoven (např. knihovny vytvořené programátorem aplikace, knihovny třetích stran či dynamické knihovny), tedy knihoven přilinkovaných za běhu programu. Například programovací jazyk C využívá pouze miniaturní ''runtimeběhovou knihovnu'' (obvykle se nazývá [[crt0]]), ale definuje velkou ''standardní knihovnu'' ([[standardní knihovna jazyka C]]), která musí být přidána ke každé [[Implementace|implementaci]].
 
== Reference ==