Kompilator, asembler i linker

Kompilator

Kompilator – tłumaczy z języka wysokiego poziomu (takiego jak C++ czy Java) do języka niskiego poziomu (często do języka Asembler, czy w przypadku Javy do pośredniej formy – kodu bajtowego).

Asembler

Asembler – tłumaczy z języka niskiego poziomu do języka maszynowego (postaci binarnej). W tym momencie otrzymujemy binarną reprezentację naszego programu (nie jest to już forma czytelna dla człowieka).

Linker

Linker – dowiązuje zewnętrzne elementy programu takie jak na przykład biblioteki.