1、共享库的更新
(1)由于Bug的修正、新功能的增加、性能的提升,共享库需要不断的更新版本;
(2)共享库的更新可以被分为两类:兼容性更新和不兼容更新;
(3)不兼容更新:共享库改变了原有的接口,使用该共享库原有接口的程序可能不能运行或者运行不正常,需要依赖新版本的库重新编译;
(4)兼容更新:更新的内容是在原来的基础上新增,或者改变的是接口内部实现;文章来源:https://www.toymoban.com/news/detail-647595.html
2、共享库更新常见的更改方式
更改点 | 是否兼容 |
---|---|
新增导出符号,比如新增函数接口或者变量类型 | 兼容 |
删除共享库里原有的导出符号 | 不兼容 |
修改导出函数的传参类型或者个数 | 不兼容 |
改变导出的结构体类型,内部成员变量的长度、类型、个数 | 不兼容 |
修复导出函数的bug或者提升性能,但是没有改变导出函数的语义、功能、行为和接口类型 | 兼容 |
修复导出函数的bug或者提升性能,但是改变导出函数的语义、功能、行为和接口类型 | 不兼容 |
3、导致共享库不兼容的改动
(1)导出函数的行为发生改变,也就是说调用这个函数以后产生的结果与以前不一样,不再满足旧版本规定的函数行为准则;
(2)删除导出函数;
(3)导出的数据结构发生变化,比如:在导出的机构体类型中新增成员变量,导致结构体大小发生改变;
(4)导出函数的接口发生变化,比如:函数返回值、传参类型、传参个数;文章来源地址https://www.toymoban.com/news/detail-647595.html
到了这里,关于共享库的兼容性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!