fgetc,fputc和gcc编译的忠实度如何?


0

我对以下程序如何忠实地重现自己感兴趣:

fgetc(sourcefile)读取源文件。

fputc(daughterfile)写一个新的源文件。

gcc编译子文件。

我可以在两个文件(原始和女儿)上运行diff / cmp,我得到了混合的结果。Diff说它们完全相同,cmp给出了很长的差异列表,但我认为这可能是因为名称不同,名称正在编译成可执行文件。

当然,这些程序应该在很多次重复中完全相同,但我想知道是否有人可以指点我的讨论可能会让我知道上面概述的过程多久会导致数据损坏。

(以及FYI,如果它很重要,我对任何更改感兴趣,甚至那些不直接干扰代码执行的更改。基本上,我不打算对文件进行任何更改。)


1
“Diff说它们完全一样,cmp给出了很长的差异列表” - 这些结果究竟是什么(发布原始程序文件)? “让我知道上面概述的程序多久会导致数据损坏” - 只有复制程序有错误时才会这样
锯末


^^所以答案是“fgetc()和fputc()是100%准确,所有的时间”?我想我关心的是“在实践中”而不是“在理论上”,但是需要更多关于环境的信息来评估“在实践中”。
levitopher 2017年

“......但需要更多信息......” - 是的,就像你的“程序”一样。
锯末
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.