编辑“︁
MinGW-w64
”︁
跳转到导航
跳转到搜索
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
{{Infobox software | name = MinGW-w64 | author = OneVision Software | developer = Kai Tietz, Jonathan Yong, 多位GNU贡献者 | released = {{Start date and age|2005}} | latest release version = 8.0.0<ref>{{cite web | url=http://mingw-w64.org/doku.php/versions | title=MinGW-w64 version history | website=MinGW-w64 site | accessdate=2020-11-21 | archive-date=2020-11-29 | archive-url=https://web.archive.org/web/20201129140250/http://mingw-w64.org/doku.php/versions | dead-url=no }}</ref> | latest release date = {{Start date and age|2020|09|18}} | latest preview version = | latest preview date = | programming language = [[C语言|C]], [[C++]] | operating system = [[Microsoft Windows]] | genre = [[编译器]] | license = [[公有领域]] (头文件), [[GNU通用公共许可证]] (编译器与工具链), Zope公共许可证 | website = {{URL|mingw-w64.org}} }} '''MinGW-w64'''是[[自由及开放源代码软件|自由及开放源代码]][[软件开发]]环境,用于创建[[Microsoft Windows]]应用程序。从2005–2008从[[MinGW]](''Minimalist GNU for Windows'')分支出来。 MinGW-w64包括对[[GCC]]、[[GNU Binutils]]的Windows版本的[[移植_(軟體)|移植]]([[汇编器]]、[[链接器]]、[[库文件管理器]]),一套自由可分发的Windows特定的[[头文件]]与[[静态库|静态导入库]]以使用[[Windows API]],一个 Windows本地版本的[[GNU計劃|GNU]]的[[GNU侦错器|调试器]],以及其它多种工具。 MinGW-w64可运行于本地Microsoft Windows平台,"cross-native"在[[#MSYS2|MSYS2]]或[[Cygwin]]。MinGW-w64能生成32-或64-位可执行程序,运行于{{code|i686-w64-mingw32}}或{{code|x86_64-w64-mingw32}}目标平台。 == 历史 == 2005年, OneVision Software遵照[[净室设计]]原则,开始开发MinGW-w64,因为最初的MinGW项目更新太慢,迟迟不支持64位环境开发。2008年,OneVision捐献这个项目给开源社区。<ref>{{cite web | title=(MinGW-w64) History | url=https://sourceforge.net/p/mingw-w64/wiki2/History/ | website=MinGW-w64 Wiki | accessdate=2016-02-18 | archive-date=2019-07-05 | archive-url=https://web.archive.org/web/20190705024336/https://sourceforge.net/p/mingw-w64/wiki2/History/ | dead-url=no }}</ref><ref>{{cite mailing list | url = http://sourceforge.net/p/mingw/mailman/message/23100595/ | title = Re: Harmonizing mingwrt / w32api with mingw-w64 | last = Marshall | first = Keith | accessdate = 12 June 2014 | mailinglist = MinGW-dvlpr | quote = However, we would require a formal audit of mingw-64 code, to ensure conformance with our requirements for truly open documentation of sources, before [merge of mingw-w64] could be completed. | date = 19 July 2009 | archive-date = 2020-01-28 | archive-url = https://web.archive.org/web/20200128142539/https://sourceforge.net/p/mingw/mailman/message/23100595/ | dead-url = no }}</ref><ref>{{cite mailing list | url=http://sourceforge.net/p/mingw/mailman/message/23108552/ | title=Re: Harmonizing mingwrt / w32api with mingw-w64 | date=20 July 2014 | accessdate=12 June 2014 | mailinglist=MinGW-dvlpr | last=Tietz | first=Kai | archive-date=2020-01-28 | archive-url=https://web.archive.org/web/20200128142539/https://sourceforge.net/p/mingw/mailman/message/23108552/ | dead-url=no }}</ref> MinGW-w64提供了更全面的Win32 API支持,<ref>{{cite web | url=http://mingw-w64.org | title=MinGW-w64 | publisher=MinGW-w64.org | accessdate=30 May 2013 | archive-date=2019-10-18 | archive-url=https://web.archive.org/web/20191018130333/http://mingw-w64.org/doku.php | dead-url=no }}</ref>包括: * 更好的[[C99]]支持 * [[POSIX线程]] (pthreads)支持 * GCC multilib, 允许同时安装32位与64位库 * [[Unicode in Microsoft Windows|Unicode]]入口点 (wmain/wWinMain) * [[Windows Driver Kit|DDK]] (来自[[ReactOS]]) * [[DirectX]] (来自[[Wine]]) * {{tsl|en|Large file support|大文件支持}} * [[Win64]]支持 * 在x86-64(从gcc 4.8+)上,[[结构化异常处理]](SEH)代替{{tsl|en|DWARF}}或[[setjmp|sjlj]] * 一些有用工具如 <code>gendef</code>,<code>widl</code> (一个[[Microsoft接口定义语言|MIDL]]编译器来自Wine) MinGW-w64还维护winpthreads,一个[[包装库]]类似于pthreads-win32, 实现了C++11线程库<code><thread></code>, <code><future></code>, <code><mutex></code>。 == MSYS2 == MSYS2 ("minimal system 2")是用于[[Microsoft Windows]]的软件发布与开发平台,基于MinGW-w64与[[Cygwin]],把[[Unix]]环境中的代码移植到Windows。<ref>MSYS2: [https://www.msys2.org/ official homepage] {{Wayback|url=https://www.msys2.org/ |date=20210207234827 }}, [https://github.com/msys2 code repository] {{Wayback|url=https://github.com/msys2 |date=20210207234857 }}</ref> ==编译器== GCC支持的大多数编程语言也被MinGW-w64移植支持。包括C、[[C++]]、[[Objective-C]]、Objective-C++、[[Fortran]]、[[Ada语言|Ada]]。使用了GCC运行时刻库(libstdc++用于C++,libgfortran用于Fortran,等等)。MSYS2提供了[[LLVM]]的[[clang]]的包装。 支持Windows版ARM({{code|aarch64-w64-mingw32}}与{{code|armv7-w64-mingw32}})。<ref>{{cite web |title=Package: mingw-w64-x86_64-clang |url=https://packages.msys2.org/package/mingw-w64-x86_64-clang |website=MSYS2 Packages |accessdate=12 February 2020 |archive-date=2020-10-30 |archive-url=https://web.archive.org/web/20201030201711/https://packages.msys2.org/package/mingw-w64-x86_64-clang |dead-url=no }}</ref><ref>{{cite web |last1=Storsjö |first1=Martin |title=mstorsjo/llvm-mingw |url=https://github.com/mstorsjo/llvm-mingw |date=23 April 2020 |accessdate=2020-06-02 |archive-date=2020-11-29 |archive-url=https://web.archive.org/web/20201129065324/https://github.com/mstorsjo/llvm-mingw/ |dead-url=no }}</ref> 不同C++编译器(如Mindw-w64 GCC与Visual Studio)产生的二进制可执行程序一般互不兼容,因为使用了不同的[[应用程序二进制接口|ABI]]与[[名字修饰]]导致了C++运行时的差异。但被编译的C代码是链接时兼容的。<ref>{{Cite web |url=http://mingw.org/wiki/Interoperability_of_Libraries_Created_by_Different_Compiler_Brands |title=存档副本 |accessdate=2020-06-02 |archive-date=2020-11-30 |archive-url=https://web.archive.org/web/20201130131120/http://mingw.org/wiki/Interoperability_of_Libraries_Created_by_Different_Compiler_Brands |dead-url=no }}</ref> Clang是个例外,它广泛支持了MSVC的C++ ABI。<ref>{{cite web |title=MSVC compatibility |url=https://clang.llvm.org/docs/MSVCCompatibility.html |website=Clang 11 documentation |accessdate=2020-06-02 |archive-date=2021-01-26 |archive-url=https://web.archive.org/web/20210126081016/https://clang.llvm.org/docs/MSVCCompatibility.html |dead-url=no }}</ref> ==参考文献== {{reflist|30em}} ==外部链接== * [https://www.mingw-w64.org/ 官方网站] {{Wayback|url=https://www.mingw-w64.org/ |date=20230803202746 }} {{Unix-Windows interoperability}} [[Category:C编译器]] [[Category:C++编译器]] [[Category:自由編譯器與直譯器]]
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息