JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11.1 链接程序和库指南     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

第 1 部分使用链接编辑器和运行时链接程序

1.  Oracle Solaris 链接编辑器介绍

2.  链接编辑器

3.  运行时链接程序

4.  共享目标文件

第 2 部分快速参考

5.  链接编辑器快速参考

第 3 部分高级主题

6.  直接绑定

7.  生成目标文件以优化系统性能

8.  Mapfile

9.  接口和版本控制

10.  使用动态字符串标记建立依赖性

11.  可扩展性机制

第 4 部分ELF 应用程序二进制接口

12.  目标文件格式

13.  程序装入和动态链接

14.  线程局部存储

第 5 部分附录

A.  链接程序和库的更新及新增功能

B.  System V 发行版 4(版本 1)Mapfile

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

前言

在 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 相关的术语表示以下含义:

有关支持的系统,请参见Oracle Solaris OS: Hardware Compatibility Lists(Oracle Solaris OS:硬件兼容性列表)。


在本文档中,这些与 x86 相关的术语表示以下含义:

关于本手册

本手册介绍了 Oracle Solaris 链接编辑器和运行时链接程序的操作。由于动态可执行文件和共享目标文件在动态运行时环境中非常重要,因此将重点介绍这两者的生成和用法。

目标读者

本手册适用于对 Oracel Solaris 链接编辑器、运行时链接程序以及相关工具感兴趣的程序员(从好学的初学者到高级用户)。

大多数程序员都不需要从头至尾阅读本手册。

本书的结构

在本文档中,所有命令行示例均使用 sh(1) 语法。所有编程示例均采用 C 语言编写。

该手册分为以下几部分。

使用 Oracle Solaris 链接编辑器和运行时链接程序

第 1 部分介绍如何使用 Oracle Solaris 链接编辑器。本信息适用于所有程序员。

第 1 章概述 Oracle Solaris OS 下的链接进程。

第 2 章介绍链接编辑器的功能。

第 3 章介绍代码和数据的执行环境以及程序控制的运行时绑定。

第 4 章提供共享目标文件的定义,介绍它们的机制,并说明如何创建和使用它们。

快速参考

第 2 部分提供用于新用户快速入门的快速参考信息。本信息适用于所有程序员。

第 5 章概述最常用的链接编辑器选项。

高级主题

第 3 部分介绍专业性主题。本信息适用于高级程序员。

第 6 章介绍与直接绑定相关联的运行时符号搜索模型。

第 7 章介绍了用于分析运行时初始化和动态目标文件处理以及影响其运行时性能的方法。

第 8 章 介绍链接编辑器的 mapfile 指令的版本 2。

第 9 章介绍如何管理动态目标文件提供的接口的演变。

第 10 章提供有关如何使用保留的动态字符串标记来定义动态依赖项的示例。

第 11 章介绍用于监视的接口,以及在某些情况下用于执行修改和进行链接编辑器及运行时链接程序处理的接口。

Oracle Solaris ELF 应用程序二进制接口

第 4 部分介绍 Oracle Solaris ELF 应用程序二进制接口 (Application Binary Interface, ABI)。本信息适用于高级程序员。

第 12 章是有关 ELF 文件的参考章节。

第 13 章介绍如何在运行时装入和管理 ELF 文件。

第 14 章介绍线程局部存储。

附录

附录 A概述链接编辑器、运行时链接程序以及相关工具的新增功能以及更新,并指明了已添加这些新增功能和更新的相应发行版。

附录 B 介绍链接编辑器的 mapfile 指令的版本 1。本附录适用于需要支持以此旧语法编写的现有 mapfile 的程序员。建议在所有新应用程序中使用第 8 章中介绍的 mapfile 语法版本 2。

获取 Oracle 支持

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 印刷约定

字体或符号
含义
示例
AaBbCc123
命令、文件和目录的名称;计算机屏幕输出
编辑 .login 文件。

使用 ls -a 列出所有文件。

machine_name% you have mail.

AaBbCc123
用户键入的内容,与计算机屏幕输出的显示不同
machine_name% su

Password:

aabbcc123
要使用实名或值替换的命令行占位符
删除文件的命令为 rm filename
AaBbCc123
保留未译的新词或术语以及要强调的词
这些称为 Class 选项。

注意:有些强调的项目在联机时以粗体显示。

新词术语强调
新词或术语以及要强调的词
高速缓存是存储在本地的副本。

保存文件。

《书名》
书名
阅读《用户指南》的第 6 章。

命令中的 shell 提示符示例

下表显示了 Oracle Solaris OS 中包含的缺省 UNIX shell 系统提示符和超级用户提示符。请注意,在命令示例中显示的缺省系统提示符可能会有所不同,具体取决于 Oracle Solaris 发行版。

表 P-2 shell 提示符

shell
提示符
Bash shell、Korn shell 和 Bourne shell
$
Bash shell、Korn shell 和 Bourne shell 超级用户
#
C shell
machine_name%
C shell 超级用户
machine_name#