我们都知道关于哪种操作系统是最佳操作系统的讨论是如何引起大量争论的。您现在的目标是为您最喜欢的操作系统提供更好的决定性“证明” ...啊,不,要好得多,为另一个操作系统不好提供决定性的“证明”。
任务:编写一个程序,进行一些计算,并且该程序在至少一个操作系统上正确运行,而在至少一个操作系统上错误运行。
- 程序应该至少进行一些计算,因此它必须读取一些简单的输入(最好是在标准输入上,或者如果需要的话,从文件中读取,但是滥用little endian / big endian不仅便宜,而且很明显),并根据输入提供一些输出。计算应该有意义且合理,例如解决现实生活或数学问题。
- 您应该指定两个操作系统,说明在哪个操作系统上可以正常工作,在哪个操作系统上不能正常工作。两种操作系统都应该是众所周知的,并且应该是大致相同的时间(因此,没有DOS 1.0与现代OS)。建议在扰流板标签中提供引起差异的原因的简短说明(尤其是如果您怀疑很多人不会意识到这一点)。
像这样
造成差异的原因必须是微妙的,所以
#ifdef _WIN32
请不要或相似!请记住,您的目标是“证明”该特定系统不好,因此人们不应(立即)发现您的把戏!如果您的代码中有一个非常奇怪或非常不寻常的部分,则必须在注释中说明原因。当然,这种“合理性”可以是/将是一个大谎言。
得分:
这不是高尔夫!该代码应井井有条,并保持简单。请记住,您的目标是将错误隐藏在其中,以使人们不会怀疑它。代码越简单,可疑程度就越小。
获胜者将由投票决定。第一次有效提交后约10天后,得票最多。通常,应该对答案易于理解和理解的代码进行表决,这些答案应该易于阅读和理解,而漏洞却被很好地隐藏,即使被发现,也可以将其归因于错误而不是恶意。同样,如果该错误仅导致错误的结果,而不是仅导致程序崩溃或不执行任何操作,那么它的价值应该更高。
与往常一样,如果在任何主观标准上,我的答案都没有选择,则该答案应不超过最多投票者的答案低10%或1点。
make (1)
是,基本上每个unix框都正确运行,而某些Windows框则不正确。不是因为操作系统,而是因为文件系统。任何使文件修改日期保持较低精度的文件系统都可能无法make
在快速计算机上正常运行。