编译器区分

GNU, GCC, Clang, MSVC, Make, CMake区别

1. 一句话区分一下

GNU, 是一个 操作系统, 是一个项目

GCC, GNU项目 的 编译器 集合

Clang, 是 一个 编译器

MSVC, 微软的MSVC编译器

Make, 是一个控制 可执行文件 和 来自于程序源文件的 其他非源码文件 的 生成 的 工具

CMake, 是一个 开源, 跨平台的 工具系列, 这些工具 被设计用于构建, 测试, 打包 软件

参考链接

https://blog.csdn.net/xiaoxilang/article/details/91385421

https://blog.csdn.net/qq_35976351/article/details/90766729

2. GNU

The GNU system was developed to be 100% free software, free in the sense that it respects the user’s freedom.

GNU, GNU’s Not Unix

GNU 是一个 操作系统

GNU 是一个项目

GNU, 是 理查德·马修·斯托曼, 自由软件的先行者, 创立的 自由软件基金会, 发起的一个项目

目标是 提供一个自由的操作系统,

到今天为止, GNU开发了很多 自由软件, 这些自由软件 和 Linux 结合在一起,

成为了 工业界 和 学术界 常用的 操作系统环境

3. GCC

https://gcc.gnu.org/

GCC, the GNU Compiler Collection, GNU编译器套件

The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,…).

GCC was originally written as the compiler for the GNU operating system.

GCC, GNU项目 的 编译器 集合

GNU组织的开源Gcc编译器

GCC Evolution (GCC的演变)

早期: GCC = GNU C Compiler

现在: GCC = GNU Compiler Collection

GCC, 你变了

GNU编译器套装,指一套编程语言编译器,以GPL及LGPL许可证所发行的自由软件,是GNU项目的关键部分,也是GNU工具链的主要组成部分之一。

GCC也常被认为是跨平台编译器的事实标准。

1985年由理查德·马修·斯托曼开始发展,现在由自由软件基金会负责维护工作。

原名为GNU C语言编译器,因为它原本只能处理C语言。

参考链接

https://www.icourse163.org/learn/BUPT-1003564002?tid=1465349445#/learn/content?type=detail&id=1244201145&cid=1268037485

https://www.icourse163.org/learn/BUPT-1003564002?tid=1465349445#/learn/content?type=detail&id=1244201145&cid=1268037486

4. Clang

https://clang.llvm.org/

Clang, a C language family frontend for LLVM

Clang is an “LLVM native” C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles, extremely useful error and warning messages and to provide a platform for building great source level tools.

美国UIUC大学主导开发的Clang编译器

5. MSVC

MSVC, 微软的MSVC编译器

参考链接

https://blog.csdn.net/sipsipsip/article/details/7107343

6. Make

http://www.gnu.org/software/make/

GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program’s source files.

Make gets its knowledge of how to build your program from a file called the makefile, which lists each of the non-source files and how to compute it from other files.

When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program.

Make是一个控制 可执行文件 和 来自于程序源文件的 其他非源码文件 的 生成 的 工具

Make 从 一个称为 makefile的文件中 获取 如何 构建 程序 的信息, 这个makefile 文件, 列出了 每个非源码文件 和 如何 从其他文件中计算

7. CMake

https://cmake.org/

CMake is an open-source, cross-platform family of tools designed to build, test and package software.

CMake 是一个 开源, 跨平台的 工具系列, 这些工具 被设计用于构建, 测试, 打包 软件

CMake是一种跨平台 编译工具, 比make更为高级, 使用起来方便的多

CMake主要是编写 CMakeLists.txt文件, 然后用 cmake命令, 将 CMakeLists.txt文件转化为 make所需的 makefile文件

8. GDB

调试工具

有时间的时候, 再区分一下 下面这2个网上说的

gcc, 是 GCC中的 GNU C Compiler(C编译器)

g++, 是 GCC 中的 GNU C++ Compiler(C++编译器)

你可能感兴趣的:(linux,c语言,c++)