建立共享库的接口时,应首先确定此共享库提供的哪些全局符号能够与三个接口版本定义类别之一关联:
行业标准接口符号通常在供应商提供的公用头文件和关联的手册页中进行定义,同时记录在已发布的标准文献中。
供应商公共接口符号通常在供应商提供的公用头文件和关联的手册页中进行定义。
供应商专用接口符号可以包含少量公共定义或不包含公共定义。
通过定义这些接口,供应商可指明此共享库的每个接口的承诺级别。行业标准接口和供应商公共接口在各个发行版中几乎保持不变。如果确定应用程序在不同的发行版中都能继续正常运作,则可安全地随意绑定到这些接口。
其他供应商提供的系统上也可能存在行业标准接口。通过将应用程序限制为使用这些接口,可以实现更高级别的二进制兼容性。
其他供应商提供的系统上也可能不存在供应商公共接口。但是,当这些接口所在的系统发展时,它们会保持不变。
供应商专用接口非常不稳定,并且在不同发行版中会不同甚至会删除。这些接口用于实现未确定用途的功能或实验功能,或者是仅用于访问特定于供应商的应用程序。如果要实现某个级别的二进制兼容性,则应避免使用这些接口。
任何不属于上述任一类别的全局符号都应该缩减到本地范围,以使其不再可见,以免进行绑定。 请参见缩减符号范围。