Насколько верны компиляторы fgetc, fputc и gcc?
Меня интересует, насколько точно программа, подобная следующей, воспроизводит себя:
fgetc (исходный файл) для чтения исходного файла.
fputc (дочерний файл), чтобы написать новый исходный файл.
gcc для компиляции дочернего файла.
Я могу запустить diff/cmp для двух файлов (исходного и дочернего) и получить смешанные результаты. Дифф говорит, что они абсолютно одинаковые, cmp дает очень длинный список их различий, но я думаю, что это может быть из-за того, что имена разные, а имена компилируются в исполняемый файл.
Конечно, эти программы должны быть одинаковыми во многих, многих повторениях, но мне интересно, может ли кто-нибудь указать мне на обсуждение, которое может дать мне представление о том, как часто такая процедура, как описанная выше, приводит к повреждению данных.
(И к вашему сведению, если это имеет значение, меня интересуют любые изменения, даже те, которые непосредственно не мешают выполнению кода. В основном, любые изменения в файле, которые я не собирался).