Cygwin是工具的集合 由Red Hat开发 提供与Microsoft Windows上的Unix系统类似的行为。 它的目标是通过其源代码的重新编译将POSIX系统上运行的软件移植到Windows。
尽管移植的程序可在所有版本的Windows上运行, 它在Windows NT,Windows XP和Windows Server 2003上的性能更好。
关于西格温
目前, 该软件包主要由Red Hat工作人员维护。 通常根据GPL条款分发 可以将其链接到许可符合自由软件定义的任何类型的自由软件。
还可以付费购买许可证,然后将其分发给其他类型的许可证。
Cygwin系统具有几个不同的部分:
•动态链接库(“ cygwin1.dll”),该库使用本机Windows API调用实现POSIX应用程序编程接口。
•GNU开发链(包括其他实用程序GCC和GDB)可促进基本开发任务。
•与UNIX系统上最常见的程序等效的应用程序。 自2001年以来,它甚至拥有X系统(Cygwin / X)。
此外,还包含一个名为MinGW的库,该库的工作方式类似于本机MSVCRT库(实现Windows API)。 该库的内存负荷较低,并且获得了非常宽松的许可,但没有像Cygwin那样完全实现POSIX API。
经过两年的开发,Red Hat发布了重要的Cygwin 3.0.0新版本,其中包括一个DLL,可以在Windows上模拟基本的Linux API, 它允许您以最小的更改来创建Linux程序。
该软件包还包括标准的Unix实用程序,服务器应用程序,编译器,库和直接编译为在Windows上运行的头文件。
Cygwin 3.0.0的主要新功能
有了这个新版本 考虑到字符的大小写,已经打开了在Windows环境中处理目录的可能性。
现在,mkdir调用会自动创建区分大小写的目录 在安装Cygwin的目录树中。
该功能仅在带有WSL子系统的Windows 10 1803版本中可用 (适用于Linux的Windows子系统)。
添加了名为FS_IOC_GETFLAGS和FS_IOC_SETFLAGS的新ioctl文件,您可以使用它们来设置和重置文件属性,处理内部有空隙的稀疏文件,提供文件系统级别的加密和压缩,以编程方式模拟目录名称中字符注册表的差异。
在用于NTFS的Windows 10 1709+环境中,这是POSIX调用的新语义:取消链接和重命名:文件现在已删除或替换为另一个文件,而不放置在回收站中。
调用open(O_TMPFILE)时,该文件现在立即移到回收站以在父目录中腾出空间。
Cygwin PID和Windows PID现在被拆分:Cygwin PID按照POSIX的规定生成,从2增加到65535。
运行本机Windows进程时,其PID会反映在大于65535的一系列值中。
fork()实现现在可以在其工作期间通过删除/替换可执行文件或DLL来正确处理这种情况 (Windows不允许删除使用的可执行文件。
但是fork()是通过无写时复制模式技巧实现的,因为它不能在Win32 API之上实现。)
除此之外,还添加了新的chattr和lsattr实用程序。 配置和查看文件属性,在命令行上操作上述ioctl,并在open()函数中支持特定于Linux的O_PATH标志。
喜欢新版本的Cygwin 3.0吗?
要获得此新版本,您只需转到其官方网站,然后在其下载部分中可以找到下载链接。 链接是这个。
如果安装了以前的版本,可以更新它吗?
您在文章的什么位置注明日期?