连接器(linker)和装载机(loader)的区别

链接器和加载程序的区别在于,链接器生成源程序的可执行模块,而加载程序将可执行模块加载到主内存中。...

主要区别

链接器和加载程序的区别在于,链接器生成源程序的可执行模块,而加载程序将可执行模块加载到主内存中。

连接器(linker) vs. 装载机(loader)

有一些实用程序在任何程序的执行中起主要作用;有两种类型的实用程序,即链接器和加载程序。程序的任何源代码都必须经过编译器、汇编程序、链接器、装入器,这是任何程序执行的顺序。链接器接收汇编程序生成的目标代码,并将它们组合起来生成可执行模块。另一方面,Loader将可执行模块加载到主内存以执行。必须执行的程序存在于主存中。加载程序,加载操作系统中的可执行文件。加载器将内存空间分配给主内存中的可执行模块。加载程序有三种类型:绝对加载程序、可重定位加载程序和动态运行时加载程序。这三种装载机有不同的装载方式,分别是绝对装载法、浮动装载法和动态运行时装载法

汇编程序和编译器不是同一个进程,但它们所做的工作是相同的,即生成源程序的目标代码并将其交给链接器。链接器的主要过程是在完成链接器的这项工作后,获取目标代码并生成程序的可执行代码,并将代码分配给加载程序。在高级语言中有一些内置库和头文件。有一些库函数是在内置库中定义的。绝对加载器将程序的可执行文件加载到相同的主内存位置。在绝对加载器中,程序员必须知道分配。重新定位加载程序编译或汇编实际的主内存地址。动态运行时加载器,执行指令时生成绝对内存程序。函数通过链接器链接到库函数。如果找不到特定函数的库函数,则会通知编译器。当有一个大程序时,它被分成更小的程序,这些程序称为模块。对象模块是在编译或组装这些模块时生成的。链接器必须将整个程序组合在一起。有两种类型的链接器一种是链接编辑器,它生成重新定位的可执行模块,另一种是动态链接器,链接外部模块,直到生成加载模块。

比较图

连接器装载机
链接器生成源程序的可执行模块加载程序将可执行模块加载到主内存中。
输入
链接器通过汇编程序获取输入的目标代码加载程序获取可执行模块有输入
功能
链接器组合了所有的对象模块加载程序将地址分配给可执行文件
类型
链接器的类型有链接编辑器和动态编辑器装载机的类型有绝对装载机、动态运行时装载机和重定位装载机。

什么是连接器(linker)?

汇编程序和编译器不是同一个进程,但它们所做的工作是相同的,即生成源程序的目标代码并将其交给链接器。链接器的主要过程是在完成链接器的这项工作后,获取目标代码并生成程序的可执行代码,并将代码分配给加载程序。在高级语言中有一些内置库和头文件。有一些库函数是在内置库中定义的。这些函数通过链接器链接到库函数。如果找不到特定函数的库函数,则会通知编译器。当有一个大程序时,它被分成更小的程序,这些程序称为模块。对象模块是在编译或组装这些模块时生成的。链接器必须将整个程序组合在一起。有两种类型的链接器一种是链接编辑器,它生成重新定位的可执行模块,另一种是动态链接器,链接外部模块,直到生成加载模块。

什么是装载机(loader)?

必须执行的程序存在于主存中。加载程序,加载操作系统中的可执行文件。加载器将内存空间分配给主内存中的可执行模块。加载程序有三种类型:绝对加载程序、可重定位加载程序和动态运行时加载程序。这三种加载方式有绝对加载方式、浮动加载方式和动态运行时加载方式。绝对装入器将程序的可执行文件加载到相同的主内存位置。在绝对加载器中,程序员必须知道分配。重新定位加载程序编译或汇编实际的主内存地址。动态运行时加载器,执行指令时生成绝对内存程序。

主要区别

  1. 链接器生成源程序的可执行模块,而加载程序将可执行模块加载到主内存中。
  2. 链接器接收汇编程序输入的目标代码,而加载程序获取可执行模块必须输入的代码
  3. 链接器组合了所有的对象模块,而Loader将地址分配给一个可执行文件。
  4. 链接器的类型有链接编辑器和动态编辑器,而加载程序的类型是绝对加载程序、动态运行时加载程序和重新定位加载程序。

对比视频

  • 发表于 2020-02-14 02:07
  • 阅读 ( 393 )
  • 分类:IT

你可能感兴趣的文章

安装wii游戏加载器,便于备份和快速加载时间

...始,然后是我们关于保护和增压你的Wii的指南。 一份USB Loader GX。我们建议抓取AllinOnePack以便于安装。 USB外部硬盘。虽然我们从来没有任何兼容性问题,你可以发挥它的安全性,并浏览此列表的硬盘驱动器,如果你正在购买一个...

  • 发布于 2021-04-13 02:41
  • 阅读 ( 251 )

如何保护自己免受新的macos安全漏洞的攻击

...后来确定这些是早期的恶意软件测试,现在被称为“OSX/Linker”,Intego团队怀疑这些测试是由OSX/Surfbuyer恶意软件背后的同一个开发人员执行的。虽然“测试”在这一点上听起来并不可怕,但Intego安全分析师Joshua Long指出,该漏洞...

  • 发布于 2021-05-13 21:07
  • 阅读 ( 154 )

loader droid让你完全控制你的android下载

...最佳选择,有时事情会被打断,移动起来很痛苦,等等。Loader Droid的目标是通过一个令人印象深刻的下载管理器来改变这种状况。再加上免费的LD终极链接拦截器扩展,Loader Droid可以截获各种各样的文件格式。该应用程序可以暂...

  • 发布于 2021-05-24 18:28
  • 阅读 ( 154 )

链接器加载程序(linker loader)和编译程序(compiler)的区别

...,CPU可以执行该文件来执行程序中定义的任务。 什么是装载机(a loader)? 加载器在内存中定位程序并准备执行。它是启动程序时的一个重要组成部分。它包括读取可执行文件的内容和将文件放入内存等任务。此外,它还执行必要...

  • 发布于 2021-07-01 04:45
  • 阅读 ( 665 )

幼虫(grub)和利洛(lilo)的区别

...规范的参考实现。最初,GRUB是使用一个名为grandunifiedbootloader的包开发的。此外,GRUB的开发者是GNU项目。 GRUB支持各种操作系统,如Unix、Linux、Solaris、Windows和macOS。此外,GRUB允许用户选择一个操作系统从计算机上的多个可用操...

  • 发布于 2021-07-02 02:13
  • 阅读 ( 550 )

港口(port)和港湾(harbour)的区别

...。它是沿海地区,由一道厚墙组成,为船舶、船只和货柜装载机提供海浪和洋流的保护。 港口很深,可以为各种船只提供安全的停泊处,但它们不必拥有陆上设施。港口有两种类型,即: 天然港湾:一部分海洋或海洋受到保护...

  • 发布于 2021-07-09 08:35
  • 阅读 ( 183 )

链接器(linker)和适配器(adaptor)的区别

...端。如果目标DNA分子的末端是钝的,那么被称为适配器或连接器的分子将是有用的。适配器和连接器是化学合成的寡核苷酸分子,有助于DNA连接。它们也有内部限制点。适配器有一个粘性端和一个钝端,而连接器有两个钝端。 ...

  • 发布于 2021-07-14 06:55
  • 阅读 ( 412 )

apt-linker将apt-get命令转换为可点击的链接,用于快速安装应用程序

...如果你想测试一下的话,可以看看VLC的Ubuntu下载页面。aptlinker是一个免费的Greasemonkey脚本,在Chrome、Firefox和Greasemonkey中工作,在Linux上运行Opera。Greasemonkey的Apt链接器[灵感来自ADIVatips]你可以联系惠特森·戈登,这篇文章的作者whi...

  • 发布于 2021-07-25 03:39
  • 阅读 ( 153 )

如何从外部硬盘备份和播放wii游戏

...制频道,然后启动加载器,只需进入你的游戏。让我们把装载机放在前面和中间。我们还需要一些工具,所以拿着SD卡。我们需要一个WAD管理器,基本上是Wii的一个文件管理器,用于处理安装包。下载Waninkoko的Wad管理器不会出错...

  • 发布于 2021-07-27 08:15
  • 阅读 ( 215 )

使用gmail loader将旧电子邮件导入gmail

...可以将你所有的旧邮件加载到你当前的Gmail帐户中。Gmail Loader主要用于导入以mBox格式保存的现有电子邮件,这是Thunderbird的默认格式,因此如果使用Outlook.pst文件,可能需要先导入Thunderbird。我们以前曾经提到过Gmail Loader,但它有...

  • 发布于 2021-08-01 07:31
  • 阅读 ( 97 )
D5001629
D5001629

0 篇文章