不当之处,尽请指正。
相同点:
一、 他们都是用于编译生成Windows应用程序的工具链。
二、 他们都是基于gcc的。
不同之处(只说大的):
一、项目之间的关系
1. MinGW应该是最先诞生的。
2. MinGW-w64项目最初是做为MinGW的一个分支而诞生,但现在已经独立发展。详细信息参见:
http://sourceforge.net/apps/trac/mingw-w64/wiki/History
http://zh.wikipedia.org/wiki/MinGW
3. TDM-GCC及其他类似的编译器集成包
TDM-GCC是非官方组织提供及维护的编译器集成包。换句话说,他不是由MinGW或MinGW-w64项目官方提供的编译器集成包。
但他基于MinGW及MinGW-w64。而且,他也有他的优点:
例如,TDM-GCC集成了:
最新的稳定版本的GCC工具集,
一些实用的补丁,
MinGW及MinGW-w64中的运行时API。
详细信息,参考:http://tdm-gcc.tdragon.net/about
除了TDM-GCC之外,类似的非官方编译器集成包有
Boost Science Package 、TakeoffGW等(其中大多基于MingGW-w64项目)。
更多编译器集成包参见:http://zh.wikipedia.org/wiki/MinGW
二、功能差别
1. MinGW
貌似只能编译生成win32程序。
2. MinGW-w64
支持编译生成Win32与Win64的windows程序。
3. TDM-GCC及其他非官方的编译器集成包
看他们基于什么项目。多数估计能支持编译生成Win32与Win64的windows程序。
三、运行平台
1. MinGW
只能运行在windows平台。
2. MinGW-w64
在Win32、Win64、Linux 32、Linux 64等主流平台上都有版本可用。
详见:http://mingw-w64.sourceforge.net/download.php
3. TDM-GCC及其他非官方的编译器集成包
没细考证过。估计多半是运行在windows平台。
MinGW MinGW-w64 TDM-GCC等工具链之间的区别与联系