[Linux/wine.笔记]关于WINE(Linux上运行Windows程序的兼容层)

验证将现有的Windows系统窗体程序直接在Linux上运行,找到了wine项目。要点备忘如下:

【关于WINE项目】
C语言实现,开源。
开源协议:GNU Lesser General Public License
起始于1993年,持续维护到现在。目前看,几乎每个月都有新版本,大概一年一个大版本。
项目应该是被 CodeWeavers 公司“接管”了(CodeWeavers 公司是 Wine 的主要企业赞助商;公司使命是使 Linux 成为 Windows 兼容的操作系统)。
有一个商业版本CROSSOVER,由 CodeWeavers 公司发布。

【WINE实现原理】
将 Windows API 调用翻译成为动态的 POSIX (可移植操作系统接口)调用。
对“注册表”等 Windows 特有的内容,WINE做了模拟实现。所以COM组件等理论上也是支持的。
>>因为版权因素,Wine 本身不能直接把 Windows 的 dll 文件复制过来使用,所以必须重写所有的接口才行。
其实就是要把所有 Windows API 重头实现一遍

【目前感受】
1、“简单”程序基本能运行,对“复杂”一些的程序支持还是有不少问题。特别是功能支持度、稳定性等方面(性能暂且不说)。
>>网站上列的所支持的程序,支持得好些的多是游戏类(Why?是因为对底层的游戏引擎的支持比较好?)。
2、针对.net程序,调试也是个问题。Visual Studio无法正常安装使用、远程调试功能也没跑通(应该是不支持)、MONO不符合要求(我们使用了某三方厂商的控件套件)

原创文章 33 获赞 26 访问量 4万+

猜你喜欢

转载自blog.csdn.net/debug_fan/article/details/106123410