MinGW MinGW-W64介绍
Table of content
0 Preface/Foreword
1 MinGW-w64
1.1 使用MinGW-w64的原因
1.2 MinGW-w64使用场景
1.3 官网
2 GCC & LLVM
2.1 编译器构成
2.2 GCC
2.3 LLVM
2.3.1 Clang
0 Preface/Foreword
MInGW全称为:Minimalist GNU on Windows.将经典的开源C语言编译器GCC移植到了Windows平台下,并且包含了Win32API,因此可以将源代码编译为在Windows中运行的可执行程序。
而且还可以使用一些Windows不具备的,Linux平台下的开发工具。概括来讲:MinGW 是GCC的Windows版本。
MinGW-w64与MinGW的区别:
- MinGW只能编译生产32位可执行程序;
- MinGW-w64可以编译成64bit或者32bit可执行程序
1 MinGW-w64
1.1 使用MinGW-w64的原因
讲原因我们就可以从它的优势说起:
- 开源软件,可以免费使用
- 是一个活跃的开源社区在维护,不会过时
- 支持最新的C语言标准
- 使用Windows的C语言运行库,因此编译出的程序不需要第三方DLL,可以直接在Windows下运行
- 流行的IDE本质上是将MinGW-w64进行了封装,使得具有良好的GUI,简化了操作,但是内部的核心还是MinGW-w64
- 是稳定的、可靠的、持续更新的C/C++编译器,使用可以免去很多麻烦,不用担心过时,也不用担心编译器本身有bug
1.2 MinGW-w64使用场景
- 对于C语言初学者,适合用MinGW-w64,因为可以知道编译程序的细节
- 相比于VS2015等编译器,MinGW-w64属于手动编译,而VS2015属于自动编译
1.3 官网
https://www.mingw-w64.org/
2 GCC & LLVM
2.1 编译器构成
传统编译器分为三个部分:
- Frontend,前端:语义(Semantic)和语法(Syntax)分析,将源代码转换成抽象语法树(Abstract Syntax Tree);
- Optimizer,优化器:在前端基础上,对中间代码进行优化;
- Backend,后端:将优化后的中间代码转化为针对各自平台的机器代码;
2.2 GCC
GCC,GNU Compiler Collection,GNU编译器套装,一套由GNU开发的编程语言编译器。GCC原名GNU C语言编译器,刚开始只能编译C语言。后来GCC经过扩展,可以处理C++、Objective-C、Java等其他语言。
2.3 LLVM
LLVM:Low Level Virtual Machine,底层虚拟机,提供与编译器相关支持,能够进行程序语言的编译器优化、链接优化、在线编译优化、代码生成,可以作为多种编译器的backend使用。
2.3.1 Clang
Clang是LLVM的frontend,只支持C、C++和Objective-C三种语言。
MinGW MinGW-W64介绍相关推荐
- MinGW基本情况介绍
MinGW (发布时间:2008年7月7日) (原文地址:http://www.mingw.org/wiki/MinGW) MinGW(Minimumlist GNU for Windows--用于W ...
- [C++] [MinGW] MinGW下载与使用
下载 在MinGW64官网找到"Downloads",下滑找到"Sources",打开SourceForge的超链接,就进入下载界面了. 滑到最底下,如下图所示 ...
- 开源项目:windows下使用MinGW+msys编译ffmpeg
本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处. FFmpeg是在Linux平台下开发的, ...
- 关于GCC Cygwin MinGW MSYS
[转载]关于Gcc/MinGW/Cygwin/Msys http://blog.sciencenet.cn/blog-778757-616920.html 一.GCC的历史 GCC是一个原本用于Uni ...
- windows下使用MinGW+msys编译ffmpeg
本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处. FFmpeg是在Linux平台下开发的, ...
- ming window 交叉编译_如何在Linux for Windows上与MinGW交叉编译?
我正在尝试使用MinGW在 Linux上编译Windows的Qt5应用程序. 我正在使用Travis-CI来获得两个Windows可执行文件(win32,win64)的连续构建. 我已经建立了一个构建 ...
- 在Windows下使用CMake+MinGW搭建C/C++编译环境
转载自:https://blog.csdn.net/isscollege/article/details/78038921?locationNum=8&fps=1 1 工具介绍 作为一款执行效 ...
- windows 下使用 MinGW + msys 编译 ffmpeg
本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处. FFmpeg是在Linux平台下开发的, ...
- qt msvc 版本 移植 linux,Qt 程序异常结束 (MinGW 与 MSVC 版本切换)
引言 针对Qt的两种版本,是不是有很多的疑惑,或者说在切换时,遇到了程序异常结束,函数未定义等很多奇怪的问题?今天我们来对常见的几种问题进行分析与解决. 简介 操作系统:window7 x64 编程I ...
- MinGW安装教程——著名C/C++编译器GCC的Windows版本
前言 本文主要讲述如何安装 C语言 编译器--MinGW,特点是文章附有完整详细的实际安装过程截图,文字反而起说明提示作用. 编写本文的原因始于我的一个观点:图片可以比文字传达更多的信息,也能让其他人 ...
最新文章
- Ubuntu环境下docker的安装
- linux7怎么查看rsync状态,linux – Rsync显示单个文件的进度
- pycharm ssh mysql_PyCharm使用之配置SSH Interpreter的方法步骤
- php 科研,科研之路2
- java json注解_返回json用什么注解
- elementUI的DatePicker+DateTimePicker组件的自定义日期禁用
- 【乡音】海安话四级考试
- Python实战——2048
- [笔记]TB-6S-LX150T-IMG2_HWUserManual_1.02e实例讲解
- pip 安装指定版本的库
- win7企业版怎么都激活不了,看这里
- js 正则匹配两个字符串中间的字符,一级匹配带有反斜杠的字符串
- MNE从头创建raw结构
- 最近很多人问我:saiku下载不下来
- 硅谷华人AI精英大批回国成趋势,BAT在美设「挖人」据点,猎头暗中潜伏
- 图片马赛克处理以及上传保存—网页端
- 数值实验-高斯核函数 python/matlab 实现
- 在Linux服务器root用户依然遇到删除不掉得文件如何办 ,宝塔用命令无法删除文件得解决问题,使用rm -rf删除命令提示Operation not permitted 如何解决
- 统计英文名著中单词出现频率
- 方唯上传程序后不能登录后台
热门文章
- “马里奥(Mario)之父”──宫本茂
- PAKDD 2021 智能运维算法赛技术分享(精彩直播回放)
- yolov5训练操作步骤
- 怎样赚钱?互联网赚钱才是草根最好的方式!
- PHP 返回结果给前端/ajax后,在后台继续执行代码的方法
- python xlrd导入后怎么保存_pythonxlrd导入.xslx模板,使用Openpyxl编辑并重新保存.xslx-Fi...
- Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎
- 动态申请权限---通讯录 及获取通讯录列表
- 深圳APP开发婚恋社交App
- Linux笔记之Docker安装,基于Debian 11(bullseye)