Oracle® Solaris 11.2 链接程序和库指南

退出打印视图

更新时间: 2014 年 7 月
 
 

运行时链接

运行时链接涉及绑定目标文件(这些目标文件通常由以前的一个或多个链接编辑过程生成)以生成可运行的进程。在链接编辑器生成这些目标文件的过程中,会生成相应的簿记信息来表示已验证的绑定要求。利用此信息,运行时链接程序可以装入、重定位并完成绑定过程。

在进程执行过程中,运行时链接程序的功能将变为可用。通过在需要时添加附加共享目标文件,这些功能可用于扩展进程的地址空间。运行时链接过程中涉及的两个最常见组件为动态可执行文件共享目标文件

动态可执行文件是在运行时链接程序的控制下执行的应用程序。这些应用程序通常具有以共享目标文件(由运行时链接程序定位并绑定来创建可运行进程)形式存在的依赖项。动态可执行文件是链接编辑器生成的缺省输出文件。

共享目标文件向动态链接系统提供主要组成单元。共享目标文件类似于动态可执行文件,但是,系统尚未为其指定虚拟地址。

动态可执行文件通常依赖于一个或多个共享目标文件。通常,必须将一个或多个共享目标文件绑定到动态可执行文件,以生成可运行进程。因为共享目标文件可被许多应用程序使用,所以其构造的各个方面将直接影响可共享性、版本控制和性能。

共享目标文件是由链接编辑器处理还是由运行时链接程序处理,可以通过使用共享目标文件的环境来区分:

编译环境

可由链接编辑器处理共享目标文件,以生成动态可执行文件或其他共享目标文件。共享目标文件成为要生成的输出文件的依赖项。

运行时环境

共享目标文件可由运行时链接程序处理,并与一个动态可执行文件共同生成可运行进程。