跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 11.1 链接程序和库指南 Oracle Solaris 11.1 Information Library (简体中文) |
在 Oracle Solaris 操作系统 (Oracle Solaris Operating System, Oracle Solaris OS) 中,应用程序开发者可以使用链接编辑器 ld(1) 创建应用程序和库,并可以借助于运行时链接程序 ld.so.1(1) 执行这些目标文件。本手册适用于希望对 Oracle Solaris 链接编辑器、运行时链接程序以及相关工具的使用过程中涉及的概念进行充分了解的工程师。
注 - 此 Oracle Solaris 发行版支持使用 SPARC 和 x86 系列处理器体系结构的系统。支持的系统可以在 Oracle Solaris OS: Hardware Compatibility Lists(Oracle Solaris OS:硬件兼容性列表)中找到。本文档列举了在不同类型的平台上进行实现时的所有差别。
在本文档中,这些与 x86 相关的术语表示以下含义:
x86 泛指 64 位和 32 位的 x86 兼容产品系列。
x64 特指 64 位的 x86 兼容 CPU。
“32 位 x86”指出了有关基于 x86 的系统的特定 32 位信息。
有关支持的系统,请参见Oracle Solaris OS: Hardware Compatibility Lists(Oracle Solaris OS:硬件兼容性列表)。
在本文档中,这些与 x86 相关的术语表示以下含义:
"x86" 泛指 64 位和 32 位的 x86 兼容目标文件系列。
"x64" 泛指 64 位 x86 特定目标文件。
“32 位 x86”泛指 32 位 x86 特定目标文件。
本手册介绍了 Oracle Solaris 链接编辑器和运行时链接程序的操作。由于动态可执行文件和共享目标文件在动态运行时环境中非常重要,因此将重点介绍这两者的生成和用法。
本手册适用于对 Oracel Solaris 链接编辑器、运行时链接程序以及相关工具感兴趣的程序员(从好学的初学者到高级用户)。
初级程序员可以了解链接编辑器和运行时链接程序的基本操作。
中级程序员可以了解如何创建、使用以及有效地定制库。
高级程序员(例如语言工具开发者)可以学习如何解释和生成目标文件。
大多数程序员都不需要从头至尾阅读本手册。
在本文档中,所有命令行示例均使用 sh(1) 语法。所有编程示例均采用 C 语言编写。
该手册分为以下几部分。
第 1 部分介绍如何使用 Oracle Solaris 链接编辑器。本信息适用于所有程序员。
第 1 章概述 Oracle Solaris OS 下的链接进程。
第 2 章介绍链接编辑器的功能。
第 3 章介绍代码和数据的执行环境以及程序控制的运行时绑定。
第 4 章提供共享目标文件的定义,介绍它们的机制,并说明如何创建和使用它们。
第 2 部分提供用于新用户快速入门的快速参考信息。本信息适用于所有程序员。
第 5 章概述最常用的链接编辑器选项。
第 3 部分介绍专业性主题。本信息适用于高级程序员。
第 6 章介绍与直接绑定相关联的运行时符号搜索模型。
第 7 章介绍了用于分析运行时初始化和动态目标文件处理以及影响其运行时性能的方法。
第 8 章 介绍链接编辑器的 mapfile 指令的版本 2。
第 9 章介绍如何管理动态目标文件提供的接口的演变。
第 10 章提供有关如何使用保留的动态字符串标记来定义动态依赖项的示例。
第 11 章介绍用于监视的接口,以及在某些情况下用于执行修改和进行链接编辑器及运行时链接程序处理的接口。
第 4 部分介绍 Oracle Solaris ELF 应用程序二进制接口 (Application Binary Interface, ABI)。本信息适用于高级程序员。
第 12 章是有关 ELF 文件的参考章节。
第 13 章介绍如何在运行时装入和管理 ELF 文件。
第 14 章介绍线程局部存储。
附录 A概述链接编辑器、运行时链接程序以及相关工具的新增功能以及更新,并指明了已添加这些新增功能和更新的相应发行版。
附录 B 介绍链接编辑器的 mapfile 指令的版本 1。本附录适用于需要支持以此旧语法编写的现有 mapfile 的程序员。建议在所有新应用程序中使用第 8 章中介绍的 mapfile 语法版本 2。
Oracle 客户可以通过 My Oracle Support 获取电子支持。有关信息,请访问 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info,或访问 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs(如果您听力受损)。
下表介绍了本书中的印刷约定。
表 P-1 印刷约定
|
下表显示了 Oracle Solaris OS 中包含的缺省 UNIX shell 系统提示符和超级用户提示符。请注意,在命令示例中显示的缺省系统提示符可能会有所不同,具体取决于 Oracle Solaris 发行版。
表 P-2 shell 提示符
|