Estou interessado em saber como um programa como o seguinte seria reproduzido fielmente:
fgetc (sourcefile) para ler o arquivo de origem.
fputc (daughterfile) para escrever um novo arquivo de origem.
gcc para compilar o arquivo filha.
Eu posso executar o diff / cmp nos dois arquivos (o original e a filha) e obter resultados mistos. Diff diz que eles são exatamente os mesmos, cmp dá uma lista muito longa de suas diferenças, mas eu acho que isso pode ser porque os nomes são diferentes, e os nomes estão sendo compilados no executável.
Naturalmente, esses programas devem ser exatamente os mesmos durante muitas repetições, mas estou imaginando se alguém pode me indicar uma discussão que possa me dar uma idéia de quantas vezes um procedimento como o descrito acima resultaria em corrupção de dados.
(E FYI, caso seja importante, estou interessado em qualquer qualquer alterações, mesmo aquelas que não interferem diretamente com a execução do código. Basicamente, quaisquer alterações no arquivo que eu não pretendia.)