+ -
当前位置:首页 → 问答吧 → 突然想到的一个问题

突然想到的一个问题

时间:2011-05-08

来源:互联网

在相同的平台上用不同语言开发的执行完全相同功能的代码,最终在机器中生成运行的二进制代码一样么,求解答

作者: w606869000   发布时间: 2011-05-08

不一定 一样,
这有看各个语言的编译器是怎样编译的.

作者: MSOKD   发布时间: 2011-05-08

就是编译器编译后在硬件上跑的二进制码,难道不同的二进制码在相同的硬件上也能跑出一样的结果么?

作者: w606869000   发布时间: 2011-05-08

给你个最简单的例子

比如 高级语言中有个int型的i
那么i=i+1
机器指令假设i已经存在于eax中
那么有的编译器可能会使用add eax,1
有的编译器可能会优化为inc eax
然后都把eax转存到内存中的i中

你觉得上面这两行指令 add eax,1和inc eax的二进制代码一样么?但是结果是一样的

作者: wangzaiwei2006   发布时间: 2011-05-08