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.  链接程序和库的更新及新增功能

索引

接口兼容性

可以对目标文件进行许多类型的更改。可以用最简单的术语将这些更改分类为以下两组之一。

下表对一些常见的目标文件更改进行了分类。

表 5-1 接口兼容性示例

目标文件更改
更新类型
添加符号
兼容
删除符号
不兼容
向非 varargs(3EXT) 函数中添加参数
不兼容
从函数中删除参数
不兼容
更改函数数据项的大小或内容或将其作为外部定义
不兼容
目标文件的语义属性保持不变时,对函数进行的错误修复或内部增强
兼容
目标文件的语义属性发生更改时对函数进行的错误修复或内部增强
不兼容

注 - 添加符号(实质上是插入)可构成不兼容更新,使得新符号可能与应用程序对此符号的使用产生冲突。但是,由于通常使用源级名称空间管理,因此实际上这种形式的不兼容性非常少见。


可以通过维护所生成的目标文件的内部版本定义来适应兼容更新。可以通过生成具有新的外部版本化名称的新目标文件来适应不兼容更新。通过以上两种版本控制技术,可以选择应用程序的绑定,还可以在运行时验证正确版本绑定。以下各节将更详细地探讨这两种技术。