Меня интересует, насколько точно программа, подобная следующей, воспроизводит себя:

fgetc(исходный файл) для чтения исходного файла.

fputc(дочерний файл), чтобы написать новый исходный файл.

gcc для компиляции дочернего файла.

Я могу запустить diff/cmp для двух файлов (исходного и дочернего) и получить смешанные результаты. Дифф говорит, что они абсолютно одинаковые, cmp дает очень длинный список их различий, но я думаю, что это может быть из-за того, что имена разные, а имена компилируются в исполняемый файл.

Конечно, эти программы должны быть точно такими же во многих, многих повторениях, но мне интересно, может ли кто-нибудь указать мне на обсуждение, которое может дать мне представление о том, как часто такая процедура, как описанная выше, приводит к повреждению данных.

(И к вашему сведению, если это имеет значение, меня интересуют любые изменения, даже те, которые непосредственно не мешают выполнению кода. В основном, любые изменения в файле, которые я не собирался.)

0