Kürzlich digitalisiert und in ein Repo umgewandelt, wurde der ursprüngliche Quellcode des Apollo 11-Leitcomputers für die Anzeige auf Github zur Verfügung gestellt .
In MAIN.agc kommentiert der Repo-Autor, dass sie
Teilen Sie den riesigen monolithischen Quellcode in kleinere, besser verwaltbare Blöcke auf, dh in einzelne Quelldateien.
Etwas später gibt der Autor an
Es kann vernünftigerweise gefragt werden, warum Zehntausende von Quellzeilen durch Einfügen verbunden werden, anstatt die Quelldateien einfach einzeln zusammenzusetzen und sie dann zu verknüpfen, um die ausführbare Datei zu bilden. Die Antwort ist, dass das ursprüngliche Entwicklungsteam keinen Linker hatte.
Ich weiß, was Linker sind, und ich verstehe den Sinn von ihnen - aber ich habe noch nie von dem Satz (soweit ASM geht) "verbunden durch Inklusion" gehört.
Was bedeutet das? Angesichts der Tatsache, dass Linker eine große Rolle bei der Programmierung spielen, bin ich gespannt, was diese Substitution von Linkern durch "Inklusionsmittel" ist und wie sie funktioniert.
#include
Richtlinie inC
. Mit anderen Worten, anstelle des Code-Bings, der auf Komponenten kompiliert wurde, die dann miteinander verknüpft werden, sieht es so aus, als ob die$
Notation den Inhalt dieser Datei enthält, um eine große Quelldatei zu generieren. Diese eine große Quelldatei wird dann als einzelne Entität kompiliert.