(gcc/g++)/clang/cl編譯器


IDE: 現在的IDE把編譯器集成進來了,包括代碼編輯器+編譯器。

GNU:GNU's NOT UNIX,鄙視UNIX不開源)

GCC----GNU Compiler Collection

即GUN編譯器集合,包括gcc和g++編譯器,它可以編譯C、C++、JAV、Fortran、Pascal、Object-C、Ada等語言。

gcc是GCC中的GUN C Compiler(C 編譯器)
g++是GCC中的GUN C++ Compiler(C++編譯器)

是GNU項目的關鍵部分,亦是自由的類Unix及蘋果電腦Mac OS X 操作系統的標准編譯器。GCC(特別是其中的C語言編譯器)也常被認為是跨平台編譯器的事實標准。

gcc調用了C compiler,而g++調用了C++ compiler

gcc和g++的主要區別

  1. 對於 .c和.cpp文件,gcc分別當做c和cpp文件編譯(c和cpp的語法強度是不一樣的)

  2. 對於 .c和.cpp文件,g++則統一當做cpp文件編譯

  3. 使用g++編譯文件時,g++會自動鏈接標准庫STL,而gcc不會自動鏈接STL

Clang

一個C、C++、Objective-C和Objective-C++編程語言的編譯器前端。包括Clang前端和Clang靜態分析器等。[3]
它采用了底層虛擬機(LLVM)作為其后端,目標是提供一個GNU編譯器套裝(GCC)的替代品。蘋果公司的贊助支持下進行開發,而源代碼授權是使用類BSD的伊利諾伊大學厄巴納-香檳分校開源碼許可。
兼容GCC,也是跨平台。

cl.exe

cl.exe是Microsoft C/C++編譯器(因此也叫VC++ 編譯器),只能在支持Microsoft Visual Studio 的操作系統中運行

還記得在VS安裝后會給項目配置lib,include,dll庫的目錄。那么系統如何去根據目錄去找這些文件?
需要將這些文件路徑放到系統的path變量里-----系統默認查找的范圍。所以報錯"cl.exe沒找到",大概率就是這里path沒設置好!!!(因為裝了VS就自帶了cl.exe編譯器)

總結

Linux系統及跨平台用GNU
windows用cl,編譯內存占用小。

另外,還有GCC在windows平台的移植版本,Ming-W64和 Cygwin。其中MingW-64是真正的GCC移植,而cygwin只是提供一個類unix的環境內部是原生的GCC。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM