OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

什么是编译?

简单的说,编译就是翻译的过程 源代码 (由程序员编写的程序的人类可读描述)转换为计算机处理器的本地语言。

计算机的处理器(或 中央处理器) 在非常基本的级别上工作,以所谓的方式执行程序 机器语言. 这是一个描述非常小的操作的数字代码,例如“添加这个字节”、“指向内存中的这个位置”或“复制这个字节”。


这些指令中的每一条都以二进制(一和零)表示。 最早的计算机程序是用这个数字代码编写的,这或许可以解释为什么编写它的程序员经常抽烟、喝大量咖啡、戴厚眼镜。

这个问题被克服了 汇编语言,它用(稍微)更容易使用的字符代替了数字代码 助记符 例如 CPY(用于复制)和 MOV(用于移动)。 用汇编语言编写的程序被称为机器语言的程序处理成机器语言 汇编. 汇编语言今天仍然用于某些专门的编程任务,例如 设备驱动程序 嵌入式系统.

我们接下来来到所谓的 高级编程语言. 之所以这样称呼它们,是因为它们允许程序员较少关注处理器正在做什么的细节,而更多地关注解决手头的问题。 早期的(在 1950 年代开发的)包括 福特兰 (专为科学和技术任务而设计)和 COBOL (专为商业应用而设计)。 两者今天仍在有限使用。

虽然有许多流行的编程语言,但有两种占主导地位。 大多数为现代系统编写的程序都是用 C or C + +中. 在接下来的示例中,我们将编译一个 C 程序。

用高级编程语言编写的程序通过用另一个程序处理它们被转换成机器语言,称为 a 编译. 一些编译器将高级指令翻译成汇编语言,然后使用汇编器执行翻译成机器语言的最后阶段。

经常与编译结合使用的过程称为 链接. 程序执行许多常见任务。 以打开文件为例。 许多程序执行此任务,但让每个程序实现自己的程序来打开文件将是一种浪费。 让单个程序知道如何打开文件并允许所有需要它的程序共享它更有意义。 为常见任务提供支持是通过所谓的 . 它们包含多个 例行公事,每个都执行多个程序可以共享的一些常见任务。 如果我们查看 / lib目录 / usr / lib目录 目录,我们可以看到其中许多人住在哪里。 一个程序叫做 链接 用于在编译器的输出和编译程序所需的库之间形成连接。 这个过程的最终结果是 可执行程序文件, 准备启用。


 

OnWorks 的顶级操作系统云计算: