【发布时间】:2018-01-27 16:24:01
【问题描述】:
或者它是否也用于interpeted语言?
另外,使用解释语言和编译语言实现软件时,高级语言转换为机器码的过程有什么区别?
【问题讨论】:
-
有大量关于编译器构建的介绍性文本。阅读它们以了解根本差异。
标签: linker compiler-construction
或者它是否也用于interpeted语言?
另外,使用解释语言和编译语言实现软件时,高级语言转换为机器码的过程有什么区别?
【问题讨论】:
标签: linker compiler-construction
链接可以与解释语言一起使用,具体取决于解释器的实现方式。如果解释器在执行每个语句时对其进行解析,通常不会有链接。如果语言实现有一个编译步骤可以产生一个解释的中间代码,那么链接就可以很容易地发生。例如,Visual Basic 已被实现为带有编译步骤的解释语言。
【讨论】:
对于问题 #1:传统链接适用于编译语言。
关于您的问题 #2:如果您要问两者的不同之处,则可以总结为:
编译语言的目的是将其从源代码转换为机器代码以供执行。
解释性语言的目的是将其转化为解释器可以处理的所谓“代码”。在这种情况下,编译器生成的代码类似于“字节码”,它是由知道如何执行字节码指令的虚拟机 (VM) 定义的指令集。示例包括 Java 或 Python。请注意,这两者也可以将“字节码”转换为机器码。
【讨论】: