Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么二进制文件的解释如此混乱? P>看,这是一个只会说嗨的C++程序。p>_C++_Binary_Hex - Fatal编程技术网

为什么二进制文件的解释如此混乱? P>看,这是一个只会说嗨的C++程序。p>

为什么二进制文件的解释如此混乱? P>看,这是一个只会说嗨的C++程序。p>,c++,binary,hex,C++,Binary,Hex,源代码描述程序的行为,而不是执行任务的指令序列。编译器对行为进行描述,并假设已启用优化,则生成最佳指令列表以执行它可以执行的任务。编译器要求的优化级别越高,编译器在寻找更有效的解决方案方面投入的精力就越多 多亏了,只要源代码中描述的所有可观察行为都没有改变,编译器就可以对代码进行任何修改,以生成尽可能高效的程序1。您可能会发现整段代码都消失了,因为它们没有可观察的结果,或者可观察的结果被解析为编译器可以预先计算和存储的常量 当编译器完成时,输出应该看起来像是输入通过了混合器 至于为什么二进制输出

源代码描述程序的行为,而不是执行任务的指令序列。编译器对行为进行描述,并假设已启用优化,则生成最佳指令列表以执行它可以执行的任务。编译器要求的优化级别越高,编译器在寻找更有效的解决方案方面投入的精力就越多

多亏了,只要源代码中描述的所有可观察行为都没有改变,编译器就可以对代码进行任何修改,以生成尽可能高效的程序1。您可能会发现整段代码都消失了,因为它们没有可观察的结果,或者可观察的结果被解析为编译器可以预先计算和存储的常量

当编译器完成时,输出应该看起来像是输入通过了混合器

至于为什么二进制输出乱七八糟,那是二进制的,宝贝。它不是为了让人可读。另一方面,电脑喜欢这些东西


请注意,有一些例外情况,比如,不改变行为规则。

我看了一下。我不明白你在问什么。你希望在二进制文件中看到什么?不是二进制的?右边的列,为什么会被置乱?因为它试图将二进制数据解释为文本,而这是看不见的