MinGW MinGW-w64 TDM-GCC等工具链之间的区别与联系

不当之处,尽请指正。

相同点:

一、 他们都是用于编译生成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等工具链之间的区别与联系

时间: 2024-10-13 08:41:16

MinGW MinGW-w64 TDM-GCC等工具链之间的区别与联系的相关文章

MinGW MinGW-w64 TDM-GCC等工具链之间的差别与联系

不当之处,尽请指正. 同样点: 一. 他们都是用于编译生成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

转载 cc、gcc、g++、CC的区别概括

gcc是C编译器:g++是C++编译器:linux下cc一般是一个符号连接,指向gcc:gcc和g++都是GUN(组织)的编译器.而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意. cc是Unix系统的C Compiler,而gcc则是GNU Compiler Collection,GNU编译器套装.gcc原名为Gun C语言编译器,因为它原本只能处理C语言,但gcc很快地扩展,包含很多编译器(C.C++.Objective

gcc编译工具生成动态库和静态库之一----介绍

 1.库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有别于静态库,动态库的链接是在程序执行的时候被链接的.所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用.(TODO:链接动态库时链接阶段到底做了什么) 2 静态库和动态库的比较 链接静态库其实从某种意义上来说也是一种粘贴复制,只不过它操作的对象是目标代码而不是源码而已.因为静态库被链接后

EGE图形库配置(Dev-C++ 5.10 , TDM GCC 4.8.1)

准备工作:1>Dev-C++ 5.10版本    系统 Win XP/WIN 7 2>下载EGE图形库“ege-13.04.02-full” !,关于本次配置的Dev-C++的信息见如: 现在开始配置: 1,解压“ege-13.04.02-full”到任一个文件夹,如C:/ege 2,在解压后的文件中有一个"include"的文件夹.文件夹里有 一个“ege”文件夹和两个.H的文件 复制下来. 3,把include文件夹内的文件拷贝到安装目录对应的文件夹内.C:\Progr

gcc,g++,make,cmake的区别

首先介绍一下GCC:GNU Compiler Collection(GNU 编译器集合),在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器.目前 Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.GCC不仅功能非常强大,结构也异常灵活.最值得称道的一点就是它可以通过不同的

gcc/make/makefile/cmake/qmake的区别与联系

目录 01 概述 02 总结一下: 03 具体使用时: 04 参考材料 01 概述 gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C.C++.Objective-C.Fortran.Java等等). 当你的程序只有一个源文件时,直接就可以用gcc命令编译它. 但是当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大. 所以出现了make工具 make工具可以看成是一个智能的批处理工

2015第22周一Web性能测试工具及IE扩展区别

在高性能web测试工具推荐http://www.jb51.net/article/23034.htm中发现了dynaTrace 感觉很不错,不但可以检测资源加载瀑布图,而且还能监控页面呈现时间,CPU花销,JS分析和执行时间,CSS解析时间的等.http://www.ibm.com/developerworks/cn/web/1205_xieju_dtraceajax/ 文中介绍了详细的用法也很不错. dynaTrace Ajax Edition是一个运行在IE下的BHO免费工具. 可以运行在多

Linux运行c++程序gcc编译器和g++编译器的区别

gcc编译器和g++编译器在编译时都要经过这三个步骤:1.预处理生成.i文件 2.预处理后转换为汇编生成.s文件 3.汇编转化为机器码生成可执行的.o文件 4.连接生成可执行文件 但是在gcc编译器中,是不能直接连接c++库的,所以在链接过程中会出错,只要在链接命令后面加上一个"-lstdc++"即可实现.. gcc和g++都可以编译c和c++代码,.c文件g++会把其当做c++文件,而.cpp文件,两者都会识别为c++文件,编译阶段g++会调用gcc.但是gcc不能和c++程序的库相

【转】gcc中-pthread和-lpthread的区别

原文网址:http://chaoslawful.iteye.com/blog/568602 用gcc编译使用了POSIX thread的程序时通常需要加额外的选项,以便使用thread-safe的库及头文件,一些老的书里说直接增加链接选项 -lpthread 就可以了,像这样: Shell代码   gcc -c x.c gcc x.o -ox -lpthread 而gcc手册里则指出应该在编译和链接时都增加 -pthread 选项,像这样: Shell代码   gcc -pthread -c x