chrome 等浏览器有些版本支持 win7,win8,等,不支持 winXP,但有一些又支持 xp,底层发生了什么?以及所有的桌面应用也同样的有自己支持的操作系统版本,具体怎么设置的或者怎么实现的?
1
delectate 2018-09-10 19:37:38 +08:00
很多软件也都是这样吧……根据操作系统的不同,去拼命测试兼容性,仅此而已……
|
3
nfroot 2018-09-10 21:35:40 +08:00 via Android
因为系统升级后,会赠送更好的 API,或者变更了相关 API 的功能,但是旧系统没有,你想兼容就得自己去写去设计,还要兼容各系统不要冲突。
除了系统提供的兼容模式,你不是原作者基本没办法了。 |
5
msg7086 2018-09-11 07:45:01 +08:00 1
比如说 XP 下有一个系统调用叫 A(),后来到 Win7 了,大家觉得,诶应该给这个系统调用加点功能,于是就新给了个系统调用,叫 A_牛逼()。后来到 Win10 了,大家觉得还要再给他加点功能,于是就有了 A_特别牛逼()。
那程序员如果要用到这特别牛逼版本的函数,那自然只能运行在 Win10 上了,因为 Win7 XP 下都没有这函数啊。 同理如果要兼容多个操作系统版本,那就只能用最基础的 A(),或者是自己写逻辑,判断如果有牛逼的就用牛逼,如果没有牛逼的就用普通版。甚至有些函数是新操作系统才加入的,那就只能判断系统版本然后禁用类似的功能了。 |
6
nfroot 2018-09-11 08:49:02 +08:00
@fayefang 小白就别折腾了,这个不是你能折腾的,简单和你说吧,Chrome 是开源的,你可以拿着源码自己去做兼容,如果你做不到,那只能说明你不适合做这个操作。
最简单的兼容方法就是用虚拟机,现在虚拟机有窗口模式,就是虚拟机里的窗口和实体机的窗口无缝切换。 好了我只能回答到这里了。 |
7
nfroot 2018-09-11 08:49:57 +08:00
有源码的还可以考虑自己做兼容,但工程量浩大,没源码的基本别想了。
|