Windows上的Cygwin和真正的UNIX环境有什么区别

时间:2010-05-12 12:33:21

标签: unix cygwin

我是C / C ++开发人员。我从未在UNIX上完成C ++编程,我只在Windows上完成。

我想在Unix上练习C ++。 (因为所有大公司都用Unix来问C ++。)

我有一台笔记本电脑,我不想安装任何其他操作系统(因为我已经在其上安装了非常重要的软件而我没有设置)

所以,我搜索并找到了CygWin,它是Windows的Unix模拟器。 我正在考虑练习C ++。

Unix和Cygwin有什么区别?

4 个答案:

答案 0 :(得分:4)

Cygwin主要是POSIX仿真器 - 其中POSIX是UNIX和其他系统的最低标准。这使得在Windows上运行干净编写的POSIX应用程序成为可能。

您将在cygwin中找到POSIX中指定的所有内容(如文件系统层次结构,/ proc文件系统,信号,套接字),它将在POSIX规范中运行。但是由于POSIX中没有指定很多东西,它不会像其他任何真正的Unix系统一样100%。

例如,在大多数UNIX系统上,您可以在文件打开时删除它(这将使其成为没有名称的临时文件,当最后一个用户关闭它时将删除该文件)。 Windows不允许这样做(并且POSIX也没有强制要求);所以在Cygwin上你会有Windows文件语义(你打开时不能删除文件)。

同样适用于文件名中允许的字符,文件名区分大小写,以及(当然)大多数真正的UNIX提供但未包含在Cygwin中的所有其他API(besids POSIX)。

(至少你可以在Cygwin中拥有一个X服务器,它再次只支持基本的X操作)。

答案 1 :(得分:2)

Cygwin只有一个真正的Unix操作系统功能的子集,你需要了解一些关于cygwin不会告诉你的Unix操作系统的事情。 这取决于你需要在unix机器上做什么。因为它具有不同的文件系统,并且没有与Windows相同的目录结构。例如,Unix中没有'Program Files',你可能需要知道很多文件所在的位置,你不会发现cygwin。 虽然我同意,如果您不想在您的计算机上安装其他操作系统,您可以将其安装在虚拟机中,或者只是简单地使用它,然后您只需使用liveCD

答案 2 :(得分:1)

您可能会发现此链接有用: http://en.wikipedia.org/wiki/Cygwin

它们提供了许多有用的信息,可以帮助您更好地了解将要发生的事情。

我的建议是虚拟化您自己的环境(例如,在Virtual Box中使用Ubuntu)。谷歌他们获得下载链接

你可以尝试自己的内容。

答案 3 :(得分:0)

下载VirtualBox,然后安装您选择的Unix风格。就个人而言,我是Ubuntu的忠实粉丝。 :)

虽然Cygwin在它的功能方面非常出色,但它与在Unix机器上直接工作并不相同。