静态链接:在程序运行之前先将各目标模块以及他们的库函数链接成一个完整的装配模块,以后不再拆开。
静态链接需解决以下两个问题:
(1)对相对地址进行修改:在由编译产生的目标模块中,使用的都是相对地址,起始地址为0,每个模块中的地址都是相对于起始地址计算的。在链接成一个装入模块后,起始地址变为L而其他地址也要做处相应的改变(L+M)
(2)变换外部调用符号:将每个模块中用的外部调用符号也都变换为相对地址。
静态链接:在程序运行之前先将各目标模块以及他们的库函数链接成一个完整的装配模块,以后不再拆开。
静态链接需解决以下两个问题:
(1)对相对地址进行修改:在由编译产生的目标模块中,使用的都是相对地址,起始地址为0,每个模块中的地址都是相对于起始地址计算的。在链接成一个装入模块后,起始地址变为L而其他地址也要做处相应的改变(L+M)
(2)变换外部调用符号:将每个模块中用的外部调用符号也都变换为相对地址。