关键区别–链接器与加载程序
计算机程序用于向计算机发出指令。它是使用特定的编程语言编写的。C、Java等编程语言是高级编程语言,人类可以理解,但计算机无法理解。因此,使用语言翻译将高级程序转换为机器语言。使用高级语言编写的程序是源代码。转换后,转换后的代码称为对象代码。链接器和加载器是用于程序执行的两个软件程序。本文讨论了链接器和加载器之间的区别。链接器是将对象代码与其他文件(如头文件)链接起来并创建扩展名为.exe的可执行文件的软件。加载程序是将链接器生成的可执行文件加载到主内存的系统软件。这是链接器和加载器之间的关键区别。
目录
1. 概述和主要区别
2.什么是链接器
3. 什么是装载机
4. 链接器和加载程序之间的关系
5. 并排比较-链接器与表格形式的加载程序
6. 摘要
什么是连接器(linker)?
计算机程序是给计算机执行某项任务的一组指令。计算机程序可以用编程语言编写。大多数编程语言都是高级编程语言。它们很容易被程序员理解和阅读。这些语言遵循与英语相似的语法。高级语言的一些例子是Java、C和Python。使用高级编程语言编写的程序称为源代码、源文件或源程序。源代码的扩展取决于它是用什么语言开发的。如果源代码是用C++编写的,那么文件扩展名是.CPP。如果源代码是用Python编写的,那么扩展名是.py。
即使是源代码,程序员也能理解,计算机也无法理解。因此,应该使用语言翻译程序将源代码转换为机器可理解的格式。它可以是编译器或解释器。翻译后的代码称为目标代码。目标代码是机器语言。它由0和1组成。计算机可以直接理解目标代码。它有扩展名。obj。如果有一个源代码作为Test.c,那么它将经过编译器并转换成测试对象.
链接器是将目标代码与附加文件(如头文件)链接并创建扩展名为.exe的可执行文件的软件。程序可能使用了内置函数。这些内置函数的功能在头文件中。根据上面解释的示例,目标代码测试对象使用链接器添加必要的头文件。它会创建一个名为测试.exe. 它是一个可执行文件。因此,它可以由计算机执行。
什么是装载机(loader)?
应该执行的程序必须放在内存中。链接器链接目标代码和头文件并输出可执行文件。加载程序是将链接器生成的可执行文件加载到主内存的系统软件。它将内存空间分配给主内存中的可执行模块。因此,加载器是操作系统中负责加载程序和库的一部分。
加载一个程序需要几个步骤。它包括将包含程序指令的可执行文件的内容读入内存,并执行运行可执行文件所需的准备任务。加载完成后,操作系统通过将控制权传递给加载的程序代码来启动程序。特殊的计算机系统,如嵌入式系统,通常没有加载程序。代码直接由ROM执行。
什么是链接器与加载器的关系(the relati***hip between linker and loader)?
- 链接器的输出发送到加载程序。
连接器(linker)和装载机(loader)的区别
链接器与加载程序 | |
链接器是将目标代码与附加文件(如头文件)链接并创建扩展名为.exe的可执行文件的软件。 | 加载程序是将链接器生成的可执行文件加载到主内存的系统软件。 |
输入 | |
链接器获取语言转换器的输出,即目标代码。 | 加载程序从链接器获取输出,链接器是可执行文件。 |
功能 | |
链接器链接目标代码和头文件并输出可执行文件。 | 加载程序将从链接器获取的可执行文件加载到主内存。 |
总结 - 连接器(linker) vs. 装载机(loader)
链接器和加载程序是与程序执行相关的两个软件组件。本文讨论了链接器和加载程序之间的区别。链接器是将目标代码与附加文件(如头文件)链接并创建扩展名为.exe的可执行文件的软件。加载程序是将链接器生成的可执行文件加载到主内存的系统软件。这就是链接器和加载程序之间的区别。