鱼C论坛

 找回密码
 立即注册
查看: 6271|回复: 4

[技术交流] 关于C语言编译器:MinGW,MinGW-w64,MSVC之间的区别

[复制链接]
发表于 2021-1-26 17:59:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Ⅲ只小猪 于 2021-1-26 19:24 编辑

前言
此文章在于分为MinGW与MinGW-w64、MSVC、最新的GCC、GCC与G++
内容可能比较长,总共1240字。但是阅读完后,会解决的你的许多疑问
让我们开始吧!


MinGW与MinGW-w64
我们都知道要学习、编写C语言程序,就必须有C语言的编译器

而其中我们最熟知且常用的

恐怕就是多平台的GCC和Windows下的MSVC(Microsoft Visual C++)了
Windows平台下常用的则是MinGW,MinGW-w64和MSVC

而其中MinGW(-w64)则是基于Linux下的GCC把它移植到Windows平台下的产物

MinGW可以在Windows平台下把C源文件编译成.exe应用程序,但是它有一个缺点,
那就是不能把源文件编译成64位的(这时就有人说:我电脑好,我就是要跑64位的才爽!!!)。

于是MinGW出现了一个分支,那就是MinGW-w64(现已独立发展)。顾名思义,就是可以编译64位的。
这就很爽了,兄弟们!当然,它分为64位和32位两个版本,也就是说,他还可以编译成32位(通吃,恶心心)

如今MinGW早已停止更新,官方的Windows版本更新日期永远停留在了2017年。(今天突然发现连官网都上不了了)。
而原本作为分支的MinGW-w64内置的gcc版本却早已更新到8.1.0(到目前为止最新的gcc官方正式版本为10.2),
由于仅有MinGW-w64被GCC官方所支持, 而MinGW早已停止更新, 所以我更推荐使用MinGW-w64。
但是它需要添加环境变量,安装起来比较麻烦
Snipaste_2021-01-26_16-56-36.png


MSVC
MSVC是由微软这个大公司开发的,具有稳定的更新,且不是基于gcc,所以一些比较新的C\C++标准都是能安排上的。
而且它已经封装好,不需要再添加环境变量什么的了,不需要配置,开箱即用。
但是它也有缺点,那就是太大了!(体积达4.8G)而且如果要使用它,
可能也意味着要安装Visual Studio,但是它使用起来比较麻烦,新手可能不太适应。
而且会对他产生依赖,虽然VS code可以调用MSVC进行编译,但是前提是每次必须从命令行启动vs code。。。这个嘛,大家看情况是否要安装MSVC吧。。。
Snipaste_2021-01-26_19-22-52.png

所以我觉得Windows下,vs code + gcc是个很不错的选择(自己动手,丰衣食足)配置方法可以看这个帖子https://fishc.com.cn/thread-188396-1-1.html


最新的GCC
这是可能就有鱼油要问了,那么在哪里下载最新的gcc啊?其实gcc的版本不同对于我们学习并没有太大的影响,
只要C语言的标准不是很旧就行了,而且有很多关键字我们都是用不到的。
可以参考甲鱼老师的《带你学C带你飞》(里面Linux中用的gcc是4点几的版本)。
但如果你真的想用最新的gcc,方法很简单,安装最新的Linux系统,然后直接sudo apt install gcc就行了。
但是总感觉有点亏。。。所以并不是很建议这样做(强迫症忍忍吧)

这时又有人问了,诶,那C语言怎么不出一个官方网站,再出一个官方编译器啊。
抱歉,C语言不隶属于任何一个公司,所以它没有官方网站,也没有官方编译器。
而C语言的各种标准是由ISO制定的。


GCC与G++
我们一般都会发现,在安装C语言编译器时,编译器总是署名C++(C++的编译器是G++)
就连《带你学C带你飞》里在虚拟机中安装gcc时的命令也是yum -y install gcc gcc-c++ kernel-devel
诶,我就学C语言,怎么还跟C++扯上关系了呢,其实C++发明出来的时候,是兼容C语言的,
也就是说C语言的代码可以直接复制到C++里。于是C++就被附赠到了C语言的编译器中,而现在,C语言反而成了陪衬。。。


结尾
以上就是全部内容了,感谢阅读。
如果文章中有错误,敬请谅解并指出,谢谢!
这篇文章是我上一篇文章《vscode C语言环境搭建教程》https://fishc.com.cn/thread-188396-1-1.html的扩展内容
如果喜欢,别忘了评分

评分

参与人数 1鱼币 +5 贡献 +3 收起 理由
minamikotori + 5 + 3 无条件支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-26 19:00:55 | 显示全部楼层
不错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-1-26 19:11:40 | 显示全部楼层
卧槽,居然被收录了,感激不尽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-3 11:41:02 | 显示全部楼层
捞一捞。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-16 23:33:27 | 显示全部楼层
谢谢您的分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 14:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表