2.2. 如何提交程序
从人类可读源代码转换为机器代码(计算机遵循执行程序)的方法包括:
- 程序被原生编译。
- 程序由原始解释进行解释。
- 程序通过字节编译来解释。
2.2.1. 原生编译代码
原生编译的软件是使用编程语言编写的软件,使用生成的二进制可执行文件编译到机器代码中。这些软件可以独立运行。
以这种方式构建的 RPM 软件包是特定于架构的。
如果您在使用 64 位(x86_64)AMD 或 Intel 处理器的计算机中编译此类软件,则无法在 32 位(x86)AMD 或 Intel 处理器上执行。生成的软件包的名称指定了架构。
2.2.2. 解释代码
有些编程语言(如 bash 或 Python )不编译到机器代码中。相反,其程序的源代码是在无需进行提前处理的情况下,按步骤直接执行源代码。这是通过相关语言的解析器或一个语言虚拟机实现的。
完全使用解释编程语言编写的软件特定于架构。因此,生成的 RPM 软件包的名称中包含 noarch
字符串。
解释语言为 Raw-interpreted 程序,也可以是 编译程序。这两种类型的程序构建过程和打包过程会有所不同。
2.2.2.1. Raw-interpreted 程序
原始解释的语言程序不需要编译,并由解释器直接执行。
2.2.2.2. comp-compiled 程序
字节编译型语言需要编译成字节代码,然后由语言虚拟机执行。
注意
有些语言提供了一个选择:它们可以是原始解释的形式或字节编译的形式。