Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.2. 如何提交程序

从人类可读源代码转换为机器代码(计算机遵循执行程序)的方法包括:

  • 程序被原生编译。
  • 程序由原始解释进行解释。
  • 程序通过字节编译来解释。

2.2.1. 原生编译代码

原生编译的软件是使用编程语言编写的软件,使用生成的二进制可执行文件编译到机器代码中。这些软件可以独立运行。

以这种方式构建的 RPM 软件包是特定于架构的。

如果您在使用 64 位(x86_64)AMD 或 Intel 处理器的计算机中编译此类软件,则无法在 32 位(x86)AMD 或 Intel 处理器上执行。生成的软件包的名称指定了架构。

2.2.2. 解释代码

有些编程语言(如 bashPython )不编译到机器代码中。相反,其程序的源代码是在无需进行提前处理的情况下,按步骤直接执行源代码。这是通过相关语言的解析器或一个语言虚拟机实现的。

完全使用解释编程语言编写的软件特定于架构。因此,生成的 RPM 软件包的名称中包含 noarch 字符串。

解释语言为 Raw-interpreted 程序,也可以是 编译程序。这两种类型的程序构建过程和打包过程会有所不同。

2.2.2.1. Raw-interpreted 程序

原始解释的语言程序不需要编译,并由解释器直接执行。

2.2.2.2. comp-compiled 程序

字节编译型语言需要编译成字节代码,然后由语言虚拟机执行。

注意

有些语言提供了一个选择:它们可以是原始解释的形式或字节编译的形式。