Bajt-kód
Bajt-kód je druh přechodného kódu, který je více abstraktní než strojový kód. To je často zpracované jak binární soubor obsahovat spustitelný program hodně jako modul objektu, který binární soubor obsahuje strojový kód produkovaný kompilátory.
Bajt-kód je volán tak protože obvykle každý kód operace je jeden-délka bajtu ale délka seznamu instrukcí se mění. Každá instrukce má jeden bajtový operační kód od 0 k 255 následovaný parametry takový jako registry nebo adresa paměti. Toto je typický případ, ale specifikace bytecode velmi se liší v jazyce.
Jak je v přechodném kódu, to je forma výstupního kódu použitého programovacím jazykem implementors zredukovat závislost na specifickém hardwaru a utišit výklad.
Méně obyčejně, bytecode je používán jako přechodný kód kompilátora. Některé systémy, volal dynamické překladatele, nebo “jen-v-čas” (JIT) kompilátoři, přeložit bytecode do strojového jazyka bezprostředně předchozí k provozní zlepšit rychlost provádění.
Bajt-program kódu je normálně interpretovaný bajtem-interpret kódu (obvykle volal virtuální stroj protože to je jako stroj počítače). Výhoda je přenositelnost, to je, stejný binární kód může být vykonán přes různé platformy nebo architektury. Toto je stejná výhoda jako to interpretovaných jazyků. Nicméně, protože bytecode je obvykle méně abstraktní, kompaktnější, a více počítače-centric než kód programu to je určeno pro modifikaci člověka, výkon je obvykle lepší než pouhý výklad. Protože jeho výhody výkonu, dnes mnoho interpretovaných jazyků je vlastně zkompilované do bytecode jednou pak provedený bytecode interpretem. Takové jazyky zahrnují Perl a Python. Jávský kód je typicky přenášený jak bytecode k přijímacímu stroji, který pak používá JIT přeložit bytecode do strojového kódu před popravou. Aktuální realizace Ruby programovacího jazyka vlastně nepoužívá bytecode, místo toho, to se spoléhá na strom-jako struktury, který se podobá přechodné reprezentaci používané v kompilátorech.
Také zájmu být p-kódy, který být jen jako kódy bajtu, ale smět být fyzicky větší než jediný bajt a smět lišit se ve velikosti (hodně jako operační kódy dělat). Oni pracují u velmi vysokých úrovní, takový jak “vytisknout tento řetězec” a “vymazat obrazovku”. Oba základní a některé verze Pascala používají p-kódy.
- O-kód BCPL programovacího jazyka
- p-kód UCSD Pascal realizace Pascal programovacího jazyka
- Bytecodes mnoho realizací Smalltalk programovacího jazyka
- Jávský bajt kód, který je vykonán Jávským virtuálním strojem.