1. 程式人生 > 程式設計 >C/C++專案編譯工具簡單介紹

C/C++專案編譯工具簡單介紹

本文基於一個需要對 C 語言家族專案進行編譯、生成解決方案的開發者的視角,對編譯過程中所需要的各個工具進行簡要的名詞解釋。

GCC | LLVM 提供編譯器 <-- GNU Make 根據配置檔案進行編譯 <-- Autoconf | CMake 自動生成編譯用的配置檔案

注:上面提到的各類集合和工具所能做的事情並不僅僅侷限於此。

GCC | LLVM

GCC 和 LLVM 是我們在編譯 C 系專案時最常使用的兩個工具鏈。

GCC 的全稱是 GNU Compiler Collection , 即 GNU 編譯器集合;

LLVM 的全稱就是 LLVM (最開始的時候作為 Low Level Virtual Machine 的縮寫,現在涵義已經發生了變化),現在是作為 LLVM 的編譯器和工具鏈集合的一個總稱。

gcc,全稱 GNU C Compiler,是 GCC 中的 C 編譯器;

g++,全稱 GNU C++ Compiler,是 GCC 中的 C++ 編譯器。

Clang 是 LLVM 集合前端中的 C 系編譯器和工具鏈。Clang 相容 GCC ,Clang 出現的時間比 GCC 晚,相比 GCC , Clang 的編譯速度更快,錯誤提示更友好。

GNU Make

當專案的原始檔數量很多,結構十分複雜時,僅僅使用編譯器對專案進行編譯,會是一件十分繁瑣的事情,引用標頭檔案目錄,引入原始檔,引入第三方靜態庫動態庫都會十分的繁瑣。

GNU Make 能夠基於前面提供的編譯器,選擇專案中合適的原始檔來生成專案所需的中間目標檔案和可執行檔案。開發者通過編寫一個名為 makefile 的檔案來指導 GNU Make 處理編譯。

Autoconf | CMake

Autoconf 是 m4 巨集處理的擴充套件包,通過它可以生成一個指令碼,這個指令碼能夠自動生成編譯用的配置檔案。Autoconf 和 Automake 是一對。

CMake 是一個開源的軟體,開發者通過編寫獨立於平臺和編譯器的配置檔案,來指導專案的編譯過程。

Autoconf 中涉及的概念比較多,生成指令碼的步驟比較繁瑣, CMake 在使用上更為簡單。

參考連結

LLVM

GCC,the GNU Compiler Collection

GNU Make

diff between gcc and g++

Programming Languages Supported by GCC

Clang

CMake

Autoconf

以上就是本次介紹的全部知識點內容,希望我們整理的內容能夠幫助到大家,如果有其他步驟可以聯絡下方小編。