本文主要是介绍一入wine深似海,从此奋战到天明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
wine神马的最烦人了,喝多了伤身,请适量。
很多朋友都会发现,Linux下的应用实在是太少了,Linux平台哪里都好,就是没人用。。。= =!为了在Linux下运行更多的应用,程序猿们开发出了Wine神器。要知道,这个东西开发的艰辛,Linux本身是开源的,但Windows可不是啊,能用开源的软件搭建出一套闭源软件的兼容层,可不是一件容易的事。
首先说Wine的工作原理,要知道,Windows应用主要是由应用程序和大量的动态链接库组成,这些可执行文件,都符合WindowsPE格式,这是微软官方出品的可执行文件标准,这个标准是确定的,而且由于x86_64体系的影响,同体系的机器码,本质是一样的。那既然机器码是一样的,为何不能正常工作呢?原因就出在系统层面,由于windows系统,底层有大量的链接库,这套底层API接口实现是闭源的,被称为Windows API,作为Windows平台软件开发的标准。而且Windows又有着复杂的DirectX、注册表、独有文件系统等特殊的地方,和*nix系列的系统大不一样,那么同样的机器码,也很难移植。
于是Wine的开发者想出了什么办法呢?他们根据WindowsAPI的描述,自己又在Linux下实现了一遍,终于,这个兼容层才算是可以大致使用。不过由于windows闭源的特质,很难对其进行非常完美的模拟。
相比之下,Windows下的Linux环境兼容层Cygwin就好办
这篇关于一入wine深似海,从此奋战到天明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!