【问题标题】:Is linker used only in compiled languages?链接器是否仅用于编译语言?
【发布时间】:2018-01-27 16:24:01
【问题描述】:

或者它是否也用于interpeted语言?

另外,使用解释语言和编译语言实现软件时,高级语言转换为机器码的过程有什么区别?

【问题讨论】:

  • 有大量关于编译器构建的介绍性文本。阅读它们以了解根本差异。

标签: linker compiler-construction


【解决方案1】:

链接可以与解释语言一起使用,具体取决于解释器的实现方式。如果解释器在执行每个语句时对其进行解析,通常不会有链接。如果语言实现有一个编译步骤可以产生一个解释的中间代码,那么链接就可以很容易地发生。例如,Visual Basic 已被实现为带有编译步骤的解释语言。

【讨论】:

    【解决方案2】:

    对于问题 #1:传统链接适用于编译语言。

    关于您的问题 #2:如果您要问两者的不同之处,则可以总结为:

    编译语言的目的是将其从源代码转换为机器代码以供执行。

    解释性语言的目的是将其转化为解释器可以处理的所谓“代码”。在这种情况下,编译器生成的代码类似于“字节码”,它是由知道如何执行字节码指令的虚拟机 (VM) 定义的指令集。示例包括 Java 或 Python。请注意,这两者也可以将“字节码”转换为机器码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-19
      • 1970-01-01
      • 2013-09-14
      • 1970-01-01
      • 1970-01-01
      • 2011-03-20
      相关资源
      最近更新 更多