Jeder Quelltext wird zunächst von einem Präprozessor bearbeitet, der seinerseits einen C-Quelltext erzeugt. Dieser wird vom Übersetzer in Assemblercode für den jeweiligen Prozessor übersetzt, wiederum als lesbare Textdatei. Der Assembler wiederum erzeugt daraus Maschinencode, einen sog. Objektfile. Alle zum Programm gehörenden Objektfiles, auch solche, die aus sog. Libraries stammen und nicht vom Autor der o.g. Quelltexte geschrieben wurden, werden dann vom Linker zu einer ausführbaren Programmdatei zusammengebunden. Diese kann dann endlich vom Betriebssystem in den Speicher geladen und gestartet werden.