`
xpp02
  • 浏览: 1012846 次
社区版块
存档分类
最新评论

cygwin/gcc与MinGW

 
阅读更多
cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别?在实际工作中如何选择这两种编译器呢?


cygwin/gcc完全可以和在linux下的gcc划等号,这个从boost库的划分中就可以看出来端倪,cygwin下的gcc和linux下的gcc使用的是相同的Toolsets。
所以完全可以和linux一起同步更新gcc版本,而不用担心有什么问题,并且在cygwin/gcc下做的东西(不用win32的)可以无缝的用在linux下,没有任何问题。是在windows下开发linux程序的一个很好的选择。但是在cygwin/gcc下编译出来的程序,在windows下执行必须依赖cygwin1.dll,并且速度有些慢,如果不想依赖这个东西的话,必须在gcc的编译选项中加入-mno-cygwin。加入这个选项gcc编译器就会自动的选择安装cygwin/gcc时安上的MinGW,这个MinGW就是gcc的一个交叉编译

注:交叉编译是嵌入式开发过程中的一项重要技术,它的主要特征是某机器中执行的程序代码不是在本机编译生成,而是由另一台机器编译生成,一般把前者称为目标机,后者称为主机。采用交叉编译的主要原因在于,多数嵌入式目标系统不能提供足够的资源供编译过程使用,因而只好将编译工程转移到高性能的主机中进行。


MinGW作为gcc在windows上的一个实现,由于不像cygwin的gcc在一个模拟linux上运行,所以相当一部分linux的工具不能够使用,不过现在已经有Msys这个模拟unix的shell,可以解决很多的问题,不过没有cygwin好用,而cygwin/gcc的no-cygwin选项又依赖于MinGW的支持,所以更新的更慢的,现在只是到3.3.3。在MinGW下也是可以升级gcc的,不过需要使用msys。升级方法和在cygwin&linux下差不多,就不再罗嗦了。不过就我的升级经验来看好像都不太顺利。具体深入的测试,我也没有时间做了。
也是可以让cygwin的最新安装的gcc支持no-cygwin,需要再做一遍交叉编译,但是我不会做,只好算了,呵呵,也许那一天我把这个搞定,再开一个贴吧。


根据以上的分析,如果在windows开发linux程序,cygwin是很好的选择。如果你开发的程序不介意有一个cygwin1.dll的话,也是可以选择cygwin的。如果你是想开发windows下的程序,还要必须用gcc的话,MinGW是很好的一个选择。但是在windows下有太多的编译器了,bc,vc,intel c.....
顺便说就题外的话,据说gcc4.0.0性能有很大的提升,如果我升级完gcc4后,再编译一把gcc4是不是以后的编译性能会提高很多呢?
一个技巧:如何知道当前版本的gcc的安装配置,用命令:gcc -v就可以了.


分享到:
评论

相关推荐

    gcc-mingw-4.3.3-setup.exe

    此外,线程应用程序必须船与一个自由可分配的线程支持DLL,提供MinGW本身)。 MinGW编译器提供微软C运行时的功能和一些特定于语言的运行时。MinGW极简主义,不会,永远不会,试图提供一个POSIX POSIX应用程序部署在ms ...

    Dev-C++ Win32的全功能集成开发环境(IDE)。它使用GCC,Mingw或Cygwin作为编译器和库集。

    Win32的全功能集成开发环境(IDE)。它使用GCC,Mingw或Cygwin作为编译器和库集。

    MinGW,GCC编译器

    目前适用于 Windows 平台、受欢迎的 GCC 移植版主要有 2 种,分别为 MinGW 和 Cygwin。其中,MinGW 侧重于服务 Windows 用户可以使用 GCC 编译环境,直接生成可运行 Windows 平台上的可执行程序,相比后者体积更小,...

    gcc-4.5.0-mingw64vc12.zip

    支持win64的modelsim,questasim的gcc编译器 在modelsim出现下列提示时解压到安装目录使用 # 2019.2 # do run.do # Please download and install gcc-4.5.0-mingw64vc12.zip ...# Using cygwin gcc is not supported.

    vscode 配置 C/C++编译环境(完整教程)

    下载MinGW-W64 GCC-8.1.0编译器(32和64版本都有) MinGW-W64 GCC下载地址:...

    devcpp,Dev-C++

    Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上取得最新版本...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准

    Dev—Cpp压缩包,解压即用

    C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上取得最新版本的各种工具...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准。

    c(C),C++环境平台下载

    Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上取得最新...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准。

    c语言c++语言编程软件Dev C++

    Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上取得最新...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准。

    Dev-Cpp.rar文件

    c++编译平台,Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准

    dev cpp软件

    Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上取得最新...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准。

    Dev-Cpp 5.6.0

    Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上取得最新...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准。

    Dev-Cpp 5.4.0(内附有软件说明)

    Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上取得最新...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准。

    devcpp编程软件

    Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上取得最新...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准。

    dev-cpp5.4.0

    Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上取得最新...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准。

    DEVCPP编程软件

    Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站上取得最新...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准。

    DEV_CPP C++

    Dev-C++是一个C&C++开发工具,使用 Delphi/Kylix 开发, 它是一款自由软件,遵守GPL协议。它集合了GCC、MinGW等众多自由软件,并且可以从工具支持网站...它使用 MinGW/GCC/Cygwin 编译器,遵循C/C++标准。 解压缩后使用

    完整的Mingw开发环境5

    大家使用gcc在windows下开发软件,有两个途径,一、Cygwin,二、Mingw32 Cygwin可以使用autoconf,automake,libtool,libiconv and gettext(I18N/L10N) 进行完整的开发, 但由于Cygwin 封装了一层底层库,所以运行速度...

    完整的Mingw开发环境

    大家使用gcc在windows下开发软件,有两个途径,一、Cygwin,二、Mingw32 Cygwin可以使用autoconf,automake,libtool,libiconv and gettext(I18N/L10N) 进行完整的开发, 但由于Cygwin 封装了一层底层库,所以运行速度...

Global site tag (gtag.js) - Google Analytics