MinGW

✍ dations ◷ 2025-12-04 21:58:36 #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项目。

相关

  • 二手烟二手烟,亦称非自愿性吸烟,是指在吸取燃点烟草时随着烟雾释放出来的物质,是一种被动吸烟(Passive smoking)方式有研究指二手烟有焦油、阿摩尼亚、尼古丁、悬浮微粒、超细悬浮微粒
  • 头孢洛林头孢洛林 (国际非专利药品名) (发音为/sɛfˈtærɵliːn/, 商品名Teflaro)是一种第五代头孢菌素类抗生素。它对于包括耐甲氧西林金黄色葡萄球菌(MRSA)在内的革兰氏阳性菌具
  • 小农经济自然经济,也叫小农经济,商品经济的对立面,私有制经济的一种表现。是一种不借助货币,直接交易的经济形态。该种经济形态占统治地位的持续时间涵盖原始社会、封建社会以及早期的资
  • 国立南科国际实验高级中学坐标:23°06′25″N 120°17′27″E / 23.106966°N 120.290744°E / 23.106966; 120.290744国立南科国际实验高级中学(简称南科实中, 英文简称 NNKIEH),是一所位于台湾台南市南
  • 绿谷隆绿谷隆(英语:Monolinuron,化学名:3-(对氯苯基)-1-甲氧基-1-甲基脲,英语:3-(4-Chlorophenyl)-1-methoxy-1-methylurea)是一种杀虫剂、除草剂和除藻剂(英语:algaecide)。作为一种除草剂,
  • 有机锌化合物有机锌化合物是指含有碳-锌化学键的一类有机化合物。有机锌化学是一门研究有机锌化合物理化性质、合成和反应的学科。第一个被发现和制备的有机锌化合物是二乙基锌(Diethylzin
  • 无光带无光带(英文:Aphotic zone),又称为无光层,是指湖泊与海洋阳光几乎无法照入的深度范围,在之前的定义中,低于1%的阳光能照入的深度范围即称为无光带。生物发光为无光带中唯一的可见
  • 克洛德·约瑟夫·若弗鲁瓦克洛德·约瑟夫·若弗鲁瓦 (法语:Claude Joseph Geoffroy,1685年-1752年)是位法国药剂师与化学家,为法国医师暨化学家的艾蒂安·弗朗索瓦·若弗鲁瓦(法语:Étienne François Geof
  • 辐射3《辐射3》(英语:Fallout 3)是贝塞斯达软件公司开发的角色扮演游戏。此游戏是辐射系列的第三部主要作品。不同于早先出版的游戏,《辐射3》背景被设置于美国东海岸的华盛顿特区及
  • 北加浪岸北加浪岸(Pekalongan)是印尼中爪哇岛北岸的一个有古老历史的海港。宋代《岭外代答》,《诸蕃志》称为莆加龙,属阇婆,从广州发船,顺风昼夜航行一月可到。国王脑后撮发髻,人民剃头留短