什么是GNU、GCC、linux、minGW、Cygwin、MSVC?大白话和你讲清楚

刚接触编程语言时,在配置编译环境时常听到一些不明所以的名词,这篇文章就编译器部分通俗易懂的解释一下,可能略失严谨,主要面向小白,欢迎指正~

1.GNU

GNU是一个大佬闲的无聊开发的操作系统,其内容软件完全以GPL方式发布。GPL是发布GNU的同时规定的一个协议,协议内容可以简单理解为“我开源,你用我的代码开发出的东西也得开源”。

2.Linux

基于GNU,另一位大佬开发出了linux系统,由于GPL协议,linux是完全开源的,且linux操作系统内的软件也是完全开源的,因此深受全世界程序员喜爱,并迅速流行。

3.GCC

GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言编译器。可以理解为gcc是一个基于gnu系统的编译软件,并且迅速成为主流(可能因为开源+代码优秀吧)。

4.Cygwin

Cygwin是一个在windows平台上运行的类UNIX模拟环境的编译软件。可以简单理解为先模拟一个linux环境,再使用魔改(支持win底层)后的gcc编译软件。

5.minGW

MinGW,是Minimalist GNU for Windows的缩写。minGW不在模拟其他坏境,实际上是将gcc(c/c++编译器)移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。可以认为minGW是windows版本的gcc

6.MSVC

Microsoft Visual C/C++)编译器。微软亲儿子,在windows系统下自然比gcc和魔改gcc效率更高。一般来说只有Microsoft Visual Studio可以获取到MSVC,也就是说你想在vs code等编辑器里使用MSVC前,必须先下载个vs2022之类的东西……

7.其他编译器

clang等编译器,有很多,不需要太过深入。

8.参考文章

本文参考了百度百科词条以及作者一只杨阳羊的博客GCC、GNU到底啥意思?强烈推荐再去阅读一下原文,非常全面的讲解了gcc的背景,以及对GPL等协议更准确的解释。

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值