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

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等协议更准确的解释。


版权声明:本文为Alex_0701原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Alex_0701/article/details/129290330