`
jgsj
  • 浏览: 965912 次
文章分类
社区版块
存档分类
最新评论

MinGW简介

 
阅读更多

转自:http://baike.baidu.com/view/98554.htm

MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称。这里的“纯粹”是指使用msvcrt.dll的应用程序。无法使用MFC (Microsoft Foundation Classes微软基础类库)。

注:msvcrt.dll(名称:Microsoft C Runtime Library)提供了printf,malloc,strcpy等C语言库函数,并且为使用C/C++(Vc)编绎的程序提供了初始化(如获取命令行参数)以及退出等功能。

MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库。

  MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC 产生 Windows32 程序。

在基本层,MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时间库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95 发行版以上的 Windows OS 有效,使用基本运行时间,你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时间扩展。该功能是 Windows32 API 不具备的。下一个组成部分是 w32api 包,它是一组可以使用 Windows32 API 的包含文件和端口库。与基本运行时间相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 Windows32 API 功能。

实际上 MinGW 并不是一个单纯的C/C++ 编译器,而是一套 GNU 工具集合。除开 GCC 以外,MinGW 还包含有一些其他的 GNU 程序开发工具 (比如 gawk bison 等等)。

  开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境。

  所以,使用 MinGW 我们就可以像在 Linux 下一样使用 GNU 程序开发工具。

  GCC 就是 MinGW 的核心所在,GCC 是一套支持众多计算机程序语言的编译系统,而且在语言标准的实现上是最接近于标准的。并且 GCC 几乎可以移植到目前所有可用的计算机平台。

  GCC 本身不像 VC 那样拥有IDE 界面(在 Windows 上也存在 Dev C++之类的支持 MinGW 编译器的 IDE)。源代码编辑你可以选用任何你喜欢的文本编辑器(据说微软的开发人员包括 VC 的开发都不用 VC 所带的 IDE 编辑器,而是选用 GNU 的 VIM 编辑器)。然后使用 make 等工具来进行软件项目的编译、链接、打包乃至发布。而像 cvs(svn) 源代码版本控制工具可以让世界上任何一个角落的人都可以参与到软件项目中来。

  关于 MFC,微软基础库类,这个随 VC++ 携带的一个源代码公开的开发包,和其他 Windows 程序开发包是一样的。如果有 VC++ 的授权,你完全可以使用 MFC 的源代码,也就是你使用 GCC 来编译 MFC 程序是完全可以的。

  当然,GNU 下也很多 Windows 程序开发包,甚至有一些是支持跨平台使用的。不仅仅可以直接把源代码编译为 Windows 程序,也可以不经修改编译为其他操作系统的图形程序。

  不过 GNU 下,最流行的图形界面开发库是 GTK+与Qt。GTK+ 与Qt均提供跨平台支持。例如qt支持windows、linux、mac os x、windows CE、symbian、meego等操作系统平台,并且提供了Qt SDK(包含Qt creator集成开发环境)。Gtk也能很好的运行在 Windows 平台(比如 GIMP 和 Gaim)。

总体说来,使用 MinGW 就是 GNU。

其它参考文献:

1、 http://www.mingw.org/

2、 http://wenku.baidu.com/view/b73974c308a1284ac85043f6.html

分享到:
评论

相关推荐

    mingw-get-inst-20111118

    简介  MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环 境,它是Minimalist GNU on Windows的略称。这里的“纯粹”是指「使用msvcrt.dll的应用程序」。无法使用MFC (Microsoft Foundation Classes微软...

    mingw64下载最新版本window10 64位配置vscode C++编译说明文档

    资源简介: mingw官网最新版本 window10 64位配置vscode C++编译说明文档 MinGW和MinGW-64版本的区别: MinGW是Windows的GCC端口。 并非所有Windows API都受支持(但是对于许多程序而言,受支持的东西就足够了),...

    Dev-Cpp/Mingw32环境介绍

    原本出自CSDN论坛的一篇文章,介绍Dev C++ IDE的使用。整理成TXT发上来。debug之前需要将linker设置为允许产生调试信息。需要说明的是在Dev图形界面里面debug有时会出现莫名其妙的问题比如没法步进(不知是不是我...

    CrashRpt_v.1.4.2_vs2008_also_ok

    6、简介:crashrpt是一个包含能够在程序出现各种类型未处理异常时生成程序错误报告,然后将该报告按照指定的方式(例如HTTP或者SMTP)发送给开发者,最后分析这些信息的工具。crashrpt由3个部分组成,错误报告生成库...

    MTK软件工程和配置简介

    所以MTK的软件系统使用了windows下的GNU开发工具链(MinGW)来进行工程的管理、配置和构建,MTK将MinGW放到了第三方工具中。另外还使用了perl脚本来解析用户输入的命令行参数,因此第三方工具中还包含了ActivePerl...

    基于SeetaFace的人脸识别Qt客户端开发工程文档

    基于开源算法SeetaFace的Qt客户端的工程开发编译文档,说明了OpenCV,VS2015,Qt的安装,以及算法的简介。最后是工程目录的说明。

    Qt图形图像开发之曲线图表库QChart编译安装详细方法与使用实例

    Qt曲线图表库Qt Chart简介 Qt的线性绘图控件有大名鼎鼎的Qwt,ChartDirector,小巧玲珑的QCustomPlot,当然还有自家的QtChart。长久以来QtChart在Qt家族里一直是收费的模块,只有商业版才可以使用,但Qt5.7之后将...

    EMOS嵌入式操作系统基础

    1.1 EMOS嵌入式操作系统简介 <br>EMOS 嵌入式操作系统继承于uCOS-ii v2.0 的改写。基于uCOS-ii 的核心思想和核心代码,进行了如下改写: <br>(1) 所有核心代码基于商业代码常用风格进行重写。结合笔者...

    Code::Block for puppy linux

    [关键字] 开源 IDE CodeBlocks CodeBlocks 简介:  Code::Block、MinGW 和 wxWidgets 分别是三个著名的开源项目,分别是 IDE、编译器和界面库。由这三样搭建起来的全开源纯c++开发环境,功能不逊色于Visual C++,...

    Dream-Gobang:Simaple Gobang游戏

    简介 Dream Gobang(梦幻五子棋)是一款基于WindowsGDI引擎的简易五子棋游戏,目前该游戏可以进行单机人机对战和局域网联机对战。 构建状态 Visual Studio MinGW 系统平台要求 Microsoft Windows XP及以上 开发者 ...

    SecureFileTransfer-master.zip

    1. 简介 程序分为Server和Client 目前只实现了单向传输,即Client向Server的传输 利用国密算法SM2实现认证和密钥分发 利用SM3和SM4算法保护文件的完整性和机密性 使用Qt实现可视化操作界面 2. 依赖 需要安装GmSSL库...

    Dev-CppMingw32环境介绍(DOC)

    Dev-Cpp/Mingw32环境介绍 第一章 简介 第二章 新建项目与编译 第三章 为你的Dev-Cpp安装开发包 第四章 工程的导入与导出 第五章 在Dev-Cpp下的程序调试 第六章 在提示符下的程序调试 第七章 在你的程序中使用静态...

    Dev c++ 5.11.0.0(简体中文/English版)

    Dev-C++使用MingW64/TDM-GCC编译器,遵循C++11标准,兼容C++98标准。开发环境包括多页窗口、项目编辑器、调试器等。在项目编辑器中,集成了编辑器、编译器、链接器等,同时还拥有丰富的系统软件-嵌入式实时操作系统...

    face-engine:Arcsoft ArcFace for Go 虹软人脸检测SDK Go语言版

    虹软人脸检测SDK Go语言版一、项目简介由于公司是虹软的重度用户,出于工作需要和个人兴趣,寻思着用golang封装一下C++的SDK,利用golang的跨平台特性达到跨平台的效果(当然前提是SDK支持的平台)目前支持的SDK版本...

    Computer_Science_1:计算机科学仓库1

    回购简介以用C编写Sci。 Git克隆 为VSCode安装扩展名“ c / c ++”和“ vscode-pdf”(左侧面板上的底部按钮) 使用VSCode打开“ intro_to_c”文件夹 键入“ cd {文件夹名称,例如:Week 1或在Mac上:Week \ 1},...

    gcc编译器工具windows版(gccforwindows)

    【基本简介】GCC是用于Unix,Unix-like系统的编译器。不过,现在Windows下也出现了GCC的稳定移植版。这要感谢Internet上众多程序员的共同努力。  如今,在Windows下比较流行的GCC移植版主要有三个。他们是 MinGW,...

    Windows下纯C语言Socket、smtp发送邮件,支持附件

    压缩包文件简介: base.c:包含一些基本的函数,其中有一些在此程序中并未用到,只要使用了其中的base64加密算法 mail.c:包含邮件发送、数据读取、编码转换、smtp服务器连接、ip解析等函数 mailsend.c:包含main的c...

    HmiFuncDesigner是一种集HMI,数据采集于一体的软件。目前支持Modbus协议,JavaScript解析,画面功能编辑等。编辑等

    简介简介 HmiFuncDesigner是一款集人机界面,数据采集于一体的软件,开源旨在技术分享,相互学习,提升技术。目前软件处于开发中,功能不完善,很多代码也需要重构,但是我相信在不久的将来本软件功能会更加完善!...

    logic-programming-in-java-basics

    编程逻辑课程的基本内容包括: 简介:算法,编程语言,IDE,编译器和解释器,GCC MinGW编译器安装,代码块IDE安装和C中的第一个程序。 顺序结构:算术表达式,变量,数据输入,数据处理,数据输出和数学函数。 条件...

    logic-programming-in-csharp-basics

    简介:算法,编程语言,IDE,编译器和解释器,GCC MinGW编译器安装,代码块IDE安装和C中的第一个程序。 顺序结构:算术表达式,变量,数据输入,数据处理,数据输出和数学函数。 条件结构:可比较表达式,逻辑...

Global site tag (gtag.js) - Google Analytics