【操作系统】程序的三种链接方式(2)

December 09, 2023
测试
测试
测试
测试
0 分钟阅读

1.静态链接:将各个模块链接成一个完整的装配模块,在链接之间每个模块的指令以及数据分别是从0-M进行编址,比如第一个模块长度为M,第二个模块的长度为,链接前两个模块的地址分别为0-M,0-N,但是链接后会将两个模块的地址进行修改,变成0-M+N。

2.装入时动态链接:编译后得到的一组模块先不链接成一个完整的装配模块,而是将这件事情推迟,在将每个模块装入内存时才做,每个模块边装入然后边链接,链接就是将各组模块的相对地址重新编址,而装入是实现逻辑地址到物理地址的转换,将程序模块在内存中找到一个地方进行存放,然后可以通过逻辑地址进行访问内存的物理地址。

3.运行时动态链接:对于程序的有些模块可能在程序的运行期间根本不会使用,如果将这些模块也一同链接装入内存,这样会导致浪费内存空间以及延长装入时间,而运行时动态链接是在程序执行中需要该模块时才进行链接的,如果不需要某个模块,这个模块时不会被调入内存和链接到装入模块的。

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多