链接程序和库指南

命名约定

共享库遵循的命名约定包括一个编号文件后缀。 请参见命名约定。在这个共享库中,可以创建一个或多个版本定义。每个版本定义都对应于以下类别之一:

以下版本定义命名约定有助于指明定义代表上述哪个类别。

这些类别中的前三个属于接口定义。这些定义由构成接口的全局符号名称与版本定义名称关联组成。 请参见创建版本定义。共享库内的接口更改通常称为次修订。因此,此类版本定义带有一个次要版本号后缀,次版本号基于文件名的主版本号后缀。

最后一个类别指明目标文件内发生了更改。此定义由充当标号的版本定义组成,没有与之关联的符号名称。因此将其称为弱版本定义 (weak version definition)。 请参见创建弱版本定义 (weak version definition)。共享库内的实现更改通常称为微修订。因此,此类版本定义带有一个微版本号后缀,微版本号基于应用内部更改的上一个次版本号。

任何行业标准的接口都应使用能够反映此标准的版本定义名称。任何供应商接口都应使用供应商独有的版本定义名称。通常使用公司的股票代码号。

专用版本定义指明限制使用或不供使用的符号,而且“专用”一词应清晰可见。

所有版本定义都会创建关联的版本符号名称。使用唯一名称和次/微后缀约定可减少在正在生成的目标文件中出现符号冲突的几率。

以下版本定义示例说明了这些命名约定的可能用途:

SVABI.1

定义 System V 应用程序二进制接口标准接口。

SUNW_1.1

定义 Solaris 公共接口。

SUNWprivate_1.1

定义 Solaris 专用接口。

SUNW_1.1.1

定义 Solaris 内部实现更改。