为什么二进制文件的解释如此混乱? P>看,这是一个只会说嗨的C++程序。p>
源代码描述程序的行为,而不是执行任务的指令序列。编译器对行为进行描述,并假设已启用优化,则生成最佳指令列表以执行它可以执行的任务。编译器要求的优化级别越高,编译器在寻找更有效的解决方案方面投入的精力就越多 多亏了,只要源代码中描述的所有可观察行为都没有改变,编译器就可以对代码进行任何修改,以生成尽可能高效的程序1。您可能会发现整段代码都消失了,因为它们没有可观察的结果,或者可观察的结果被解析为编译器可以预先计算和存储的常量 当编译器完成时,输出应该看起来像是输入通过了混合器 至于为什么二进制输出乱七八糟,那是二进制的,宝贝。它不是为了让人可读。另一方面,电脑喜欢这些东西为什么二进制文件的解释如此混乱? P>看,这是一个只会说嗨的C++程序。p>,c++,binary,hex,C++,Binary,Hex,源代码描述程序的行为,而不是执行任务的指令序列。编译器对行为进行描述,并假设已启用优化,则生成最佳指令列表以执行它可以执行的任务。编译器要求的优化级别越高,编译器在寻找更有效的解决方案方面投入的精力就越多 多亏了,只要源代码中描述的所有可观察行为都没有改变,编译器就可以对代码进行任何修改,以生成尽可能高效的程序1。您可能会发现整段代码都消失了,因为它们没有可观察的结果,或者可观察的结果被解析为编译器可以预先计算和存储的常量 当编译器完成时,输出应该看起来像是输入通过了混合器 至于为什么二进制输出
请注意,有一些例外情况,比如,不改变行为规则。我看了一下。我不明白你在问什么。你希望在二进制文件中看到什么?不是二进制的?右边的列,为什么会被置乱?因为它试图将二进制数据解释为文本,而这是看不见的