关于各种语言编程的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 01:39:02
都说汇编写的程序比高级语言快,编译之后不都是机器语言吗,为什么还有快慢之分呢?
在编译成EXE的时候就是机器语言了,还是运行的时候再编译成机器语言?

简单的说,就是高级语言通过编译后生成的机器语言的代码不是最简化、最优的。
这样做的目的就是为了配合高级语言达到某些便于程序员编程的目的(比如C++中为了实现面向对象编程,增加了变量晚捆绑的概念,这就是要多生成一个变量地址表)。当然现在的电脑速度已很快,再加上编译器有优化代码的选项,所以两者的差别不会太明显。