MinGW

✍ dations ◷ 2025-10-22 06:07:27 #SourceForge项目,GNU,程序设计工具,编译器软件,C编译器,公有领域软件

MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils移植到Win32平台下的产物,包括一系列头文件(Win32API)、库和可执行文件。

另有可用于产生32位及64位Windows可执行文件的MinGW-w64项目,是从原本MinGW产生的分支。如今已经独立发展。

MinGW是从Cygwin(1.3.3版)基础上发展而来。

GCC支持的语言大多在MinGW也受支持,其中涵盖C、C++、Objective-C、Fortran及Ada。

对于C语言之外的语言,MinGW使用标准的GNU运行库,如C++使用GNU libstdc++。

但是MinGW使用Windows中的C运行库。因此用MinGW开发的程序不需要额外的第三方DLL支持就可以直接在Windows下运行,而且也不一定必须遵从GPL许可证。这同时造成了MinGW开发的程序只能使用Win32API和跨平台的第三方库,而缺少POSIX支持,大多数GNU软件无法在不修改源代码的情况下用MinGW编译。

Cygwin 与 MinGW 皆可用来移植 Unix 软件到 Windows,但它们采用截然不同的实现。Cygwin 旨在提供一个完整的 POSIX 层,包括主流 Unix 的系统调用及库实现;其重视兼容性优先于性能。相对的,MinGW 则着重简化与性能。因此,它并不提供某些难以用 Windows API 实现的 POSIX API,例如 fork(),mmap() 和 ioctl()。使用跨平台库写成的应用,若库本身已移植到了 MinGW(例如 SDL、wxWidgets、Qt 或 GTK+),则那些应用通常也容易用 MinGW 编译。

用 Cygwin 写成的 Windows 程序,因为是运行在公共著作权的兼容 DLL 上,所以 DLL 必须随着程序源代码一起发布。MinGW 则不需要兼容层,因为基于 MinGW 的程序是直接调用 Windows API 编译的。

MinGW 搭配 MSYS 可以产生一个小却完整的运行环境,让程序可以加载随身设备当中,却不动到注册表或产生额外文件。

在 POSIX 系统下,用 MinGW-GCC 交叉编译 Windows 应用也是可行的。这意味着开发者不需要安装 Windows 与 MSYS 才能编译 Windows 软件,或 Windows+Cygwin 软件。

MinGW编译器在实现异常机制时,有三种可选方式:

MinGW-w64是2005年由OneVision Software根据洁净室设计原则而独立开发,以解决当时的MinGW项目更新缓慢,缺少新的重要的API以及64位支持。2008年MinGW-w64项目开源,由Kai Tietz维护。

很多非官方组织提供了包含一系列集成工具链的MinGW安装包。其中大部分基于MinGW-w64项目。

相关

  • 大部,为汉字索引里为部首之一,康熙字典214个部首中的第三十七个(三划的则为第八个)。就繁体和简体中文中,大部归于三划部首。大部通常是从上、中、下方为部字,且无其他部首可用者
  • 荷兰君主列表这里列出包括低地联省共和国的执政——历任尼德兰诸省的管理者(不享有荷兰共和国的主权)。1702年英王兼奥兰治亲王的威廉三世无嗣过世后,奥兰治亲王之位依照其遗嘱,传给他十五岁
  • 克劳狄乌斯提贝里乌斯·克劳狄乌斯·凯撒·奥古斯都·日耳曼尼库斯(拉丁语:Tiberius Claudius Caesar Augustus Germanicus,简称克劳狄乌斯、克劳狄、革老丢、或模仿后来欧洲君主习惯冠以
  • 异化作用异化作用(英语:Catabolism),又称作分解代谢,是生物的新陈代谢途径,将分子分解成更小的单位,并被氧化释放能量的过程,或用于其他合成代谢反应释放能量的过程。 异化作用将大分子(例如
  • 彼得·霍尼戈夫彼得·霍尼戈夫,CH,PC(Peter Thorneycroft, Baron Thorneycroft,1909年7月26日-1994年6月4日),是一位英国保守党政治家。曾担任财政大臣(1957年-1958年之间)。彼得·霍尼戈夫于1979年1
  • 陈甦陈甦(1957年-),辽宁大连人,中华人民共和国法学家,中国社会科学院法学研究所研究员,中国社会科学院学部委员。
  • 町田忠治町田 忠治(1863年5月17日(文久三年三月三十)-1946年(昭和二十一年)11月12日),号几堂,是明治至昭和时代的政治家。诞生于出羽国秋田郡久保田城下的秋田保戸野八丁新田上丁(现秋田県秋田
  • 劳动女性主义劳动女性主义(英语:labor feminism)是一个在美国妇女获得投票权后出现的运动。 劳动女性主义者倡导对妇女的保护性立法和特别福利,他们支持使规范妇女工作条件的国家法律通过,扩
  • 耸肩耸肩是一种将两肩提起的肢体语言,表明动作人对一个问题的答案不清楚,或者是对答案的无所谓态度。有时也可以表达对问题的无视。有时候会将眼睛睁大或配以夸张的皱眉,或摊开双手
  • 约翰尼斯·伊登约翰尼斯·伊登(德语:Johannes Itten,1888年11月11日-1967年3月25日),瑞士表现主义画家、设计师、教师、作家和理论家;与德裔美籍画家利奥尼·费宁格和德国雕塑家格哈德·马可斯,在