Récemment numérisé et transformé en référentiel, le code source d'origine de l'ordinateur de guidage Apollo 11 a été mis à disposition pour visualisation sur Github .
Dans MAIN.agc , l'auteur du référentiel commente qu'ils
divisez l'énorme code source monolithique en morceaux plus petits et plus faciles à gérer, c'est-à-dire en fichiers source individuels.
Un peu plus tard, l'auteur déclare
On peut raisonnablement se demander pourquoi des dizaines de milliers de lignes de source sont jointes par inclusion, plutôt que de simplement assembler les fichiers source individuellement puis de les lier pour former l'exécutable. La réponse est que l'équipe de développement d'origine n'avait aucun éditeur de liens.
Je sais ce que sont les linkers et j'en comprends l'intérêt - mais je n'ai jamais entendu parler de l'expression (en ce qui concerne l'ASM) "jointe au moyen de l'inclusion".
Qu'est-ce que ça veut dire? Étant donné que les éditeurs de liens jouent un rôle important dans la programmation, je suis curieux de savoir quelle est cette substitution des éditeurs de liens par les "moyens d'inclusion" et comment elle fonctionne.
#include
directive deC
. En d'autres termes, plutôt que le code bing compilé sur des composants qui sont ensuite liés ensemble, il semble que la$
notation inclut le contenu de ce fichier, afin de générer un grand fichier source. Ce grand fichier source est ensuite compilé en une seule entité.