首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SDL2向后兼容性保证?

SDL2向后兼容性保证?
EN

Stack Overflow用户
提问于 2022-10-26 05:07:44
回答 1查看 48关注 0票数 1

SDL2通常是所述,因为它破坏了SDL1.2的向后兼容性。

这意味着在不同版本的SDL2中,API和ABI保持向后兼容。

然而,我没有找到任何权威来源证实这是事实。

例如,对于GLIBC,Red有一个网页声明:

GNU C库( glibc )的不成文规则之一是,针对旧版本的glibc构建的程序将继续针对较新版本的glibc工作。

这种保证对于可移植性非常有用,因为它意味着程序可以针对较早版本的GLIBC进行编译,并运行在任何平台上,至少在该版本或任何更新版本的GLIBC上运行。

我为SDL2找到的最接近这种保证的是_Py_SDL2的发行说明,一个单独的项目,它传递对“向后兼容性”的引用:

改进了与旧版本的SDL2版本…的兼容性现在正确包装以保持与以前的SDL2版本的向后兼容性。 …为以前的SDL2发行版…提供向后兼容性

Github上有也是两种问题,它们在使用SDL2的上下文中传递对“向后兼容性”的提及,但实际上根本没有直接绑定到SDL库。

是否有任何官方或权威来源记录或保证不同版本的SDL2向后兼容?

也就是说,如果我编译一个程序来与旧版本的SDL2进行动态链接,那么假设它能在提供更新版本的SDL2的平台上工作安全吗?

EN

回答 1

Stack Overflow用户

发布于 2022-10-26 07:47:58

正式声明

看来,在开发SDL2时所达到的第一个目标之一是稳定ABI,明确地使它在SDL 3、根据对最初的作者和SDL的主要开发人员之前不会发生重大更改:

slouken正规的3 '13 截至今晚,SDL2.0是ABI锁定! 这意味着在SDL 3之前,API不会发生破坏性的更改。 干杯!

从SDL维基

我们痴迷于SDL2有一个向后兼容的ABI。无论你是使用蒸汽运行时SDK构建你的游戏,还是使用SDL2的任何旧版本,它都应该与随蒸汽一起发布的版本一起工作。

开发SDL 3的计划了一个类似的过程

slouken 22天前发表评论(2022年10月4日,格林尼治时间18:45 ) 我们目前的计划是在第一个SDL3发布之前立即进行所有的ABI破坏更改,所以我们从一开始就有一个稳定的ABI。

经验性

如果我们继续使用abi-laboratory.pro,我们可能会发现,SDL2或多或少地遵守了它在每个版本中都具有完美的ABI兼容性的承诺:

来源

每个版本之间的特定更改还可以通过单击百分比来报告。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74202942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档