在优化硬件时,编译语言如何优于解释语言?

时间:2017-04-08 13:16:07

标签: hardware compiled interpreted-language

具体来说,与解释语言相比,编译语言能够更好地优化硬件吗?我读过的其他在线资源只给出了模糊的解释,比如因为它是用目标机器的本机代码编写的,而有些甚至根本没有提供解释。如果所提供的解释尽可能为“Layman”,我将不胜感激,因为我刚刚开始编码。

1 个答案:

答案 0 :(得分:1)

一个主要原因是optimizing compilers。提前编译""使得 更容易将优化应用于代码,特别是如果您正在编译为本机汇编代码(例如,通常在C中执行)。事实上,您了解了有关将要部署的计算机的一些内容,这使您可以执行特定于计算机的优化。这对于例如基于奔腾的处理器尤其重要,因为它具有许多复杂的指令,这些指令往往需要一定程度的程序结构知识才能使用(例如MMX instruction set)。

在某些情况下,编译器可以对程序进行结构更改。例如,在special circumstances下,一些编译器可以用循环替换递归。 (我曾经听说有人在C中编写一个递归的Factorial函数来学习如何用汇编语言实现递归,只是为了让他惊恐地发现编译器已经识别出一个优化并用for循环代替了他的递归)。