Cygwin与虚拟机中的Linux有何差别,到底能用来做什么?

Cygwin与虚拟机中的Linux有何差别,到底能用来做什么?,第1张

其实楼上已经说的很清楚了.

cygwin

:

为windows提供一个感觉貌似linux的环境的工具集

这些DLL文件就是linuxAPI提供接口层,有着数量巨大的linuxAPI功能.

Cygwin

不是:

一种在windows运行的本地linux的方法.如果你想在windows运行linux的程序,你必须重新从源文件创建应用程序.

一种不可思议的让本地windows应用理解UNIX功能的方法,像信号,专利的方法.当然,你必须从源创建你的应用,如果你想使用cygwin功能的优势.

那么,这就是区别了,虚拟机提供的是真实模拟功能,也就是说不是单纯提供API,可能提供的是真实物理API,拿生活的例子解释吧,Cygwin就是小说,虚拟机就是电影,一个是通过文字途径传达信息,一个是通过对真实环境的剪辑传达信息.最根本的区别在一个在linux上提供的接口;一个是硬件上提供的接口模拟出的linux,就是真实意义上的linux.

1、Linux和windows平台上的可执行文件格式是不一样的,linux上的可执行文件格式为ELF,windows平台上的可执行文件格式为pe,所以只可以用visual studio编辑c/c++源代码,编译和链接需要在linux平台上进行。

2、自己也可以通过vmware、virtual pc等软件,在windows上通过虚拟机安装一个linux系统,用于编译、链接生成linux程序。

大致上wsl是在内核实现的吧,cygwin是在用户态实现的。wsl的效率更高。

比如说wsl里面创建一个进程就真的是个linux进程。而cygwin创建的则是Windows进程套个壳子,在运行configure脚本的时候,cygwin的性能是很差的。而wsl性能很好。

另外wsl对linux是二进制兼容的可以直接执行linux elf,而cygwin却需要重新编译的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7327149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存