MSYS和UNIX类似的构建系统;为什么Mingw存在?我的意思是,为什么win32 / 64不是“香草GCC”中的另一个目标?这有技术原因还是“政治”?在我看来,Windows平台没有什么特别之处可以使GCC端口与原始GCC“不兼容”。
答案 0 :(得分:7)
Mingw不仅仅是编译器 - 它也是库和头文件(以及您可能需要的任何其他支持文件)。
GCC只是一个编译器。 Mingw是一个完整的环境。
答案 1 :(得分:3)
MingW旨在允许将Posix应用程序轻松移植到Windows。它只是一个比CygWin更“薄”的层,所以并不是所有东西都可以在窗户太不同的地方工作。 CygWin允许提供足够的绝缘,即使是脚本工具也可以构建和生成代码。
编辑: 微软非常喜欢制定自己的标准,并且希望在已经存在开放标准的事物上放置自己的品牌。即OpenGL - > DirectX,Java - > .net,OpenCL是他们想要抛弃的下一个标准。这使得他们对非赞助项目有点痛苦,以支持他们作为目标。他们总是拒绝任何允许轻松跨平台开发的东西,因为他们只希望您为操作系统开发应用程序。这是一种营销策略,控制品牌,控制平台,让人们痛苦地支持其他操作系统。 MingW是必需的,因为GCC可以生成x86代码,但即使是最基本的运行时支持也不同于基于Posix的操作系统。
答案 2 :(得分:2)
好吧,虽然您可以使用交叉编译器从GCC生成win32 / 64二进制代码,但有人必须将所有C运行时库移植到其中。 Mingw和Cygwin都是为此而创建的。
答案 3 :(得分:0)
来自MinGW的主要网站
提供易于安装的二进制包格式,用于MS-Windows上的本机部署,或者从源用户构建,用于Unix或GNU / Linux上的交叉托管使用,该套件利用Microsoft的标准系统DLL来提供C-运行时和Windows API。