linux|编译器区分
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编译器)
【linux|编译器区分】g++, 是 GCC 中的 GNU C++ Compiler(C++编译器)
推荐阅读
- Linux下面如何查看tomcat已经使用多少线程
- Beego打包部署到Linux
- Linux|109 个实用 shell 脚本
- linux定时任务contab
- 芯灵思SinlinxA33开发板Linux内核定时器编程
- 积极探索|积极探索 绽放生命 ???——心心相印计划:青少年心理工作研讨小组全国大型公益行动第二次活动包头市青山区分校圆满成功
- day16-Linux|day16-Linux 软件管理
- 如何在阿里云linux上部署java项目
- mac|mac 链接linux服务器 如何在Mac上连接服务器
- Linux|Linux 服务器nginx相关命令