Recentemente digitalizado e transformado em um repositório, o código-fonte original do computador de orientação Apollo 11 foi disponibilizado para visualização no Github .
Em MAIN.agc , o autor do repo comenta que eles
divida o enorme código fonte monolítico em blocos menores e mais gerenciáveis - ou seja, em arquivos # individuais de origem.
Um pouco mais tarde, o autor afirma
Pode-se razoavelmente perguntar por que dezenas de milhares de linhas de origem são unidas por meio de inclusão, em vez de simplesmente reunir os arquivos de origem individualmente e depois vinculá-los para formar o executável. A resposta é que a equipe de desenvolvimento original não tinha vinculador.
Eu sei o que são os linkers e compreendo o objetivo deles - mas nunca ouvi falar da frase (no que diz respeito ao ASM) "unida por meio da inclusão".
O que isto significa? Considerando que os linkers são muito importantes em programação, estou curioso sobre o que é essa substituição de linkers por "meios de inclusão" e como ela funciona.
#include
diretiva emC
. Em outras palavras, em vez do código bing compilado nos componentes que são então vinculados, parece que a$
notação inclui o conteúdo desse arquivo, a fim de gerar um grande arquivo de origem. Esse arquivo de origem grande é compilado como uma única entidade.