Cygwin 和MinGW 的区别与联系
最佳答案 问答题库758位专家为你答疑解惑
Cygwin,是Cygnus出品,被Red Hat公司收购,名下的项目,目的为提供运行于windows平台的类Unix环境(以GNU工具为代表)。Cygwin提供了抽象层dll,用于将部分POSIX转换为Windows API调用,目录结构照搬Linux。
MinGW,Minimalist GNU for Windows,用于开发原生(32位)Windows应用的开发环境,包括了gcc,g++等工具。
- MinGW 是让Windows 用户可以用上GNU 工具,比如GCC。
- Cygwin 提供完整的类Unix 环境,Windows 用户不仅可以使用GNU 工具,理论上Linux 上的程序只要用Cygwin 重新编译,就可以在Windows 上运行。
- 如果程序只用到C/C++ 标准库,可以用MinGW 或Cygwin 编译。
- 如果程序还用到了POSIX API,则只能用Cygwin 编译。
- 程序经MinGW 编译后可以直接在Windows 上面运行。
- 程序经Cygwin 编译后运行,需要依赖安装时附带的cygwin1.dll。
MinGW 提供了一套完整的开源编程工具,适用于开发本地 MS-Windows 应用程序,并且不依赖于任何第三方 C-Runtime DLL。(它确实依赖于微软自己提供的一些 DLL,作为操作系统的组件;其中最著名的是 MSVCRT.DLL,微软的 C 运行库。此外,线程应用程序必须随附一个可免费分发的线程支持 DLL(作为 MinGW 本身的一部分提供)。
Cygwin 是
一个工具集合,为 Windows 提供一个 Linux 外观和感觉的环境。
一个 DLL(cygwin1.dll),作为 Linux API 层,提供大量 Linux API 功能。
那么,它不是一个开发环境吗?当然是。它也有用于编译、调试和 make 的 GCC 工具链。它拥有 Linux 中更完整的实用程序集。那么这两者有什么区别呢?
Cygwin 增加了一个 Linux API 层来模拟 Linux 功能。这也包括 POSIX 标准。而 MinGW 则旨在为 Windows 平台提供本地 GCC 编译器。在实用程序方面,Cygwin 试图为你提供一套最完整的 Linux 功能,而 MinGW 则旨在提供简约的 Linux 感觉。下面我们就来谈谈两者的区别:
Cygwin = 让我们把 unix 放到 windows 上,尽可能多地使用本地 unix 的东西
MingW = 让 unix 尽可能远离 windows,使用尽可能多的本地 windows 资源。
如果您使用 MinGW 编译程序,那么生成的二进制文件就可以发布,而无需依赖任何外部 DLL。而使用 Cygwin 编译的程序则需要 cygwin1.dll 才能运行。不过,Cygwin 支持 POSIX,但 MinGW 却不支持。
上述内容取自MinGW and Cygwin - An Introduction and Differences | electroBucket
进行了适量翻译,不一定翻译的对。
Cygwin Installation
MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net
两个工具在上面链接。
gcc编译选项可以看:
gcc编译选项-o和-c介绍_gcc -o-CSDN博客
99%的人还看了
相似问题
- 怎么让百度快速收录,百度SEO收录工具
- 树莓派镜像安装 + 设置 + 镜像批量化操作 - 自动化烧写工具 (四)
- Linux CentOS+宝塔面板工具结合内网穿透实现网站发布至公网可访问
- Ps:裁剪工具 - 裁剪预设的应用
- 轻量级压测工具Apache Bench实战
- 3DEXPERIENCE许可管理工具:掌控设计软件许可,提高企业竞争力
- python自动化标注工具+自定义目标P图替换+深度学习大模型(代码+教程+告别手动标注)
- linux驱动开发.之spi测试工具spidev_test源码(一)
- 计算机网络实用工具之fping
- 推荐一个windows上传linux服务器/linux服务器的docker镜像的工具,摆脱docker cp,以及解决常见问题。
猜你感兴趣
版权申明
本文"Cygwin 和MinGW 的区别与联系":http://eshow365.cn/6-34977-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!