百科问答小站 logo
百科问答小站 font logo



是什么造成了 Windows 兼容性问题? 第1页

  

user avatar   minmin.gong 网友的相关建议: 
      

一般都是系统API的行为改变了造成的。不同版本的win,API的实现可能完全不同。如果没测试好兼容性,就可能出现程序的兼容问题。而且,大部分时候其实是app的问题。

举几个我遇到的例子。

1. 某国产著名下载软件,一开始在vista上只要一选择下载目录就crash。结果是SHBrowseForFolder的参数结构体中的某个变量没有清零。xp不管这个,vista+开始用这个变量,结果就crash了。加上ZeroMemory解决。

2. 我的引擎KlayGE,几个月前发现在Win10上鼠标输入不正常,无法响应按键释放。后来发现原先WM_INPUT里的设备句柄总是等于枚举时候的句柄,Win10+变成另一个句柄值。MSDN上确实也是那么说的,以前能用只是运气好。照着改后恢复正常。

3. Quake 2,一开始在xp上运行不正常。原来代码里判断os版本号的时候,只考虑了95/98/2k等。把==改成>=后恢复正常。

4. 解谜游戏《不可思议的机器》,在xp上有一关用官方答案也过不去。原因在与xp上计时器精度提升到1ms,而不是95/98的16ms。而游戏是照着16ms调的时序,就不行了。

更惨的情况可能是有些app的bug,但因为app实在太流行,它们即便改了用户也不一定会更新。这时候只能把系统改成顺应那个bug。一个典型的例子就是DivX Player。它在调用DX的时候lock了纹理的一小部分,却写入了整张纹理。结果知道现在,DX runtime的代码里仍然有判断DivX Player的代码,如果遇到是它就总是lock整张纹理。


user avatar   jiangshengvc 网友的相关建议: 
      

今天巴拿马的表现有点像王者荣耀里的程咬金:一个字干

孙子兵法曰:先不败而后求胜。像墨西哥很聪明,不跟你硬刚,我对后防有信心我就拖着和你打防守反击,只要你打不穿我我就不会输,几脚远射威胁也不大,让我抓住你后场漏洞我还有可能赢,这也是以弱胜强的常见措施。

但是巴拿马不干,就是喜欢跟你刚,防守反击是什么?不存在的。然而双方进攻效率是不一样的,显然这种对攻并不理智。不仅如此,巴拿马在对抗上也经常出现上头的动作,吃了5张黄牌,给下一场留下了巨大隐患。

踢足球也要靠脑子,不明智的战术布置加上技不如人,结果显而易见。但是巴拿马作为一直新进入世界杯的球队,为我们带来了一场并不乏味的比赛,他们敢打敢拼的精神也是值得鼓励的,期待他们更精彩的表现。要是国足能这样表现出对胜利的渴望,输了咱也不丢人啊。




  

相关话题

  网上有m1 mac 8g内存相当于x86 16g内存的结论,正确吗?请结合统一内存进行分析? 
  windows10将来会收费吗? 
  未来桌面操作系统的发展趋势是什么? 
  都说己所不欲勿施于人,那我帮别人(亲戚/同学)装系统时要装Linux还是我不喜欢用的Windows? 
  为什么Interrupt需要存储PSW(程序状态字)但子程序调用不需要? 
  为什么电脑无系统自带广告,同样价格的手机却要见缝插针植入系统广告? 
  对于多核CPU java中Thread.currentThread() 指的是哪个核上的线程? 
  Linux 内核中,多线程栈空间模型是怎样的? 
  为什么不同系统不能兼容同一个已编译的可执行二进制文件? 
  对于安卓是否可以理解为安卓系统其实跑的是Linux? 

前一个讨论
英国脱欧、特朗普上台是否意味着全球格局剧变的开始?
下一个讨论
知乎上有哪些持续产出高质量原创回答,回答未附公众号链接,其主页无联系方式的用户?





© 2024-05-18 - tinynew.org. All Rights Reserved.
© 2024-05-18 - tinynew.org. 保留所有权利