Linker: Porovnání verzí

Smazaný obsah Přidaný obsah
EmausBot (diskuse | příspěvky)
m r2.6.4) (robot přidal: ms:Pemaut (pengkomputan)
m typo
Řádek 26:
== Relaxace ==
 
Protože překladač nemá žádné informace o rozložení objektů v konečném výstupu, nemůže využít zkrácené nebo účinějšíúčinnější instrukce, které vyžadují adresy jiných objektů. Například skoková instrukce může být vyjádřena absolutní adresou nebo offsetem vztahujícím se k momentální pozici, přičemž hodnota offsetu může mít v závislosti na vzdálenosti od cíle různou délku. Generováním nejkonzervativnějších instrukcí (obvykle jsou to ty největší relativní či absolutní varianty, to závisí na platformě) a přidáním oddychových nápověd, je možné během konečného sestavování tyto nahradit kratšími a efektivnějšími instrukcemi. Tento krok je možné provést až po té, co byl celý kód přečten a byly stanoveny dočasné adresy. Proces relaxace pak provede přeadresování, což umožní celkové odlehčení programu. Nahrazené posloupnosti instrukcí jsou kratší, což tomuto procesu umožňuje vždy počítat s optimálním řešením pevného uspořádání objektů. Pokud tomu tak není, dojde ke konfliktu, a linker musí zvážit její výhody či další možnosti.
 
[[Kategorie:Překladače]]