JavaScript is required to for searching.
跳过导航链接
退出打印视图
链接程序和库指南     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris 链接编辑器介绍

2.  链接编辑器

3.  运行时链接程序

4.  共享目标文件

5.  应用程序二进制接口与版本控制

6.  支持接口

7.  目标文件格式

8.  线程局部存储

9.  Mapfile

A.  链接编辑器快速参考

B.  版本控制快速参考

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

D.  直接绑定

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

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

索引

前言

在 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:硬件兼容性列表)。


关于本手册

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

目标读者

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

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

本书的结构

第 1 章概述 Oracle Solaris OS 下的链接进程。本章适用于所有程序员。

第 2 章介绍链接编辑器的功能。本章适用于所有程序员。

第 3 章介绍代码和数据的执行环境以及程序控制的运行时绑定。本章适用于所有程序员。

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

第 5 章介绍如何管理动态目标文件提供的接口的演变。本章适用于所有程序员。

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

第 7 章是有关 ELF 文件的参考章节。本章适用于高级程序员。

第 8 章介绍线程局部存储。本章适用于高级程序员。

第 9 章 介绍链接编辑器的 mapfile 指令的版本 2。本章适用于高级程序员。

附录 A概述最常用的链接编辑器选项,本附录适用于所有程序员。

附录 B提供共享目标文件版本控制的命名约定和原则,本附录适用于所有程序员。

附录 C以示例的形式讲解如何使用保留的动态字符串标记定义动态依赖性,本附录适用于所有程序员。

附录 D介绍与直接绑定相关联的运行时符号搜索模型。本附录适用于高级程序员。

附录 E 介绍链接编辑器 mapfile 指令的版本 1。本章适用于高级程序员。

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

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

获取 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#