编程接口指南

什么是 Solaris ABI?

Solaris ABI 是一组受支持的运行时接口,可供应用程序在 Solaris 操作系统中使用。下面列出了最重要的 ABI 组件:

Solaris ABI 的主要组件是一组系统库接口。本章中的术语 ABI 专指此组件。ABI 仅包含 C 语言接口,因为 Solaris 操作系统仅为 C 语言提供接口。

写入 Solaris API(Application Programming Interface,应用编程接口)的 C 源代码将通过 C 编译器转换为四个 ABI 版本之一的二进制形式。这四个版本包括:

尽管 ABI 与 API 非常相似,但是源代码编译过程还是有一些明显差异:

由于这些原因,源代码级别 (API) 兼容性无法在各 Solaris 发行版之间实现所要求的二进制兼容性。

Solaris ABI 由操作系统提供的支持接口构成。系统可用的接口中有一些旨在专供操作系统使用。这些专用接口不能被应用程序使用。在 SunOS 5.6 发行版之前,Solaris 库中的所有接口均可供应用程序开发者使用。利用 Solaris 链接编辑器中的库符号作用域技术,可以将不计划在库外部使用的接口的作用域缩小为完全在局部使用。有关详细信息,请参见《链接程序和库指南》。由于系统要求,并非所有专用接口都具有此类缩小了的作用域。这些接口会标记为专用,并且不包括在 Solaris ABI 中。