Насколько верны компиляторы fgetc, fputc и gcc?

361
levitopher

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

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

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

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

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

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

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

0
* «Дифф говорит, что они абсолютно одинаковые, cmp дает очень длинный список их различий» * - Каковы именно эти результаты (и выложить исходный файл программы)? * «дайте мне представление о том, как часто такая процедура, как описанная выше, приводит к повреждению данных» * - Только если в программе копирования есть ошибки. sawdust 7 лет назад 1
Ответ предоставлен https://stackoverflow.com/questions/16479006/can-i-use-fgetc-or-fputc-in-a-binary-file sawdust 7 лет назад 2
^^ Значит, ответ "fgetc () и fputc () всегда точны на 100%"? Я думаю, что меня волнует «на практике», а не «теоретически», но для оценки «на практике» потребуется гораздо больше информации об окружающей среде. levitopher 7 лет назад 0
* "... но потребуется гораздо больше информации ..." * - Да, как и ваша "программа". sawdust 7 лет назад 0

0 ответов на вопрос

Похожие вопросы