![不同主要和次要版本之间的库稳定性](https://linux22.com/image/165477/%E4%B8%8D%E5%90%8C%E4%B8%BB%E8%A6%81%E5%92%8C%E6%AC%A1%E8%A6%81%E7%89%88%E6%9C%AC%E4%B9%8B%E9%97%B4%E7%9A%84%E5%BA%93%E7%A8%B3%E5%AE%9A%E6%80%A7.png)
我正在从我的 C++ 代码构建一个共享库雷尔公司(主要版本是 A,次要版本是 B)。
在以下几种情况下,当我从以下位置复制该共享库时,该共享库可以保证以稳定、可靠的方式工作雷尔公司到 :
我想了解这个共享库
- RHEL AC,其中 C<B。
- RHEL AC,其中 C>B。
- RHEL 数据库,其中 D>A
- RHEL DB,其中 D<A。
如果可能的话,请参阅相关文档以获取更多信息。
请注意,我的 C++ 代码没有任何依赖项,即当我在 RHEL AB 上构建它时,我不会将其与任何外部库链接
答案1
相关文档是RHEL 应用程序兼容性指南。基本上,答案取决于您自己的共享库所依赖的库。
如果它依赖于兼容性级别 2 库,那么场景 1 和 2 应该没问题。方案 2 保证可以工作,方案 1 也可以工作,除非您的库以某种方式最终依赖于次要版本 B 中引入的某些内容(如果它仅在其依赖项中使用记录的 API,则不应该这样做)。
如果它仅依赖于兼容性级别 1 库,则所有情况都是可能的,具体取决于具体情况:在第一个版本引入它们之后,两个主要版本都保证与级别 1 库的兼容性,因此您将在三个主要版本中找到它们。