|
|
发表于 2005-9-25 14:20:06
|
显示全部楼层
wine对保护现有win32软件的使用还是很有意义的。常用的计算机领域的软件基本能找到linux软件替代,但是很多其他的软件是没有办法这样替代的。比如金山词霸,它购买了很多词典的版权,我等做软件的,总不能去编字典吧。还有其它一些百科全书、多媒体CAI、网上银行等也是这样。是等待厂商出linux版(天知道什么时候),还是直接使用wine来运行?
对比虚拟机,wine的优点是理论上可以非常逼近native程序的性能,因为软件是在linux上natively执行的。
说到这里,想起原来对wine和vmware的争论。我找不到原来那个帖子,在这里说几句。
经了解,vmware使用了Intel CPU的一些特性,可以在硬件层实现CPU指令的模拟执行(好象是这个意思)。
为了加快GUI的响应,它使用专用guest driver来沟通native/host driver,所以从使用角度,感觉vmware比较快。
但是实际使用的时候,如果是运算量比较大、GUI交互比较少的应用,比如C++编译。我使用VC6,同一个程序(2万行左右),在wine编译的时间比vmware(安装win2000)快将近3倍。
这也证明原来我的推论是正确的,即API的封装(wine/cygwin)比CPU指令的模拟(vmware/qemu)性能高。
当然,wine/cygwin的局限性也比较明显。
1.大多数情况下仍需要重新编译才能保证运行质量,cygwin采用的就是完全重新编译的办法。
2.局限于x86平台,而qemu可以运行在很多非x86体系的系统上。
3.对于win32 api的模拟,基于反向工程,很难做到尽善尽美。 |
|