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++編譯器)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/303333.html
標籤:其他
