C/C++項(xiàng)目編譯工具簡單介紹
本文基于一個需要對 C 語言家族項(xiàng)目進(jìn)行編譯、生成解決方案的開發(fā)者的視角,對編譯過程中所需要的各個工具進(jìn)行簡要的名詞解釋。
GCC | LLVM 提供編譯器 <-- GNU Make 根據(jù)配置文件進(jìn)行編譯 <-- Autoconf | CMake 自動生成編譯用的配置文件
注:上面提到的各類集合和工具所能做的事情并不僅僅局限于此。
GCC | LLVM
GCC 和 LLVM 是我們在編譯 C 系項(xiàng)目時最常使用的兩個工具鏈。
GCC 的全稱是 GNU Compiler Collection , 即 GNU 編譯器集合;
LLVM 的全稱就是 LLVM (最開始的時候作為 Low Level Virtual Machine 的縮寫,現(xiàn)在涵義已經(jīng)發(fā)生了變化),現(xiàn)在是作為 LLVM 的編譯器和工具鏈集合的一個總稱。
gcc,全稱 GNU C Compiler,是 GCC 中的 C 編譯器;
g++,全稱 GNU C++ Compiler,是 GCC 中的 C++ 編譯器。
Clang 是 LLVM 集合前端中的 C 系編譯器和工具鏈。Clang 兼容 GCC ,Clang 出現(xiàn)的時間比 GCC 晚,相比 GCC , Clang 的編譯速度更快,錯誤提示更友好。
GNU Make
當(dāng)項(xiàng)目的源文件數(shù)量很多,結(jié)構(gòu)十分復(fù)雜時,僅僅使用編譯器對項(xiàng)目進(jìn)行編譯,會是一件十分繁瑣的事情,引用頭文件目錄,引入源文件,引入第三方靜態(tài)庫動態(tài)庫都會十分的繁瑣。
GNU Make 能夠基于前面提供的編譯器,選擇項(xiàng)目中合適的源文件來生成項(xiàng)目所需的中間目標(biāo)文件和可執(zhí)行文件。開發(fā)者通過編寫一個名為 makefile 的文件來指導(dǎo) GNU Make 處理編譯。
Autoconf | CMake
Autoconf 是 m4 宏處理的擴(kuò)展包,通過它可以生成一個腳本,這個腳本能夠自動生成編譯用的配置文件。Autoconf 和 Automake 是一對。
CMake 是一個開源的軟件,開發(fā)者通過編寫?yīng)毩⒂谄脚_和編譯器的配置文件,來指導(dǎo)項(xiàng)目的編譯過程。
Autoconf 中涉及的概念比較多,生成腳本的步驟比較繁瑣, CMake 在使用上更為簡單。
參考鏈接
GCC,the GNU Compiler Collection
Programming Languages Supported by GCC
以上就是本次介紹的全部知識點(diǎn)內(nèi)容,希望腳本之家整理的內(nèi)容能夠幫助到大家,如果有其他步驟可以聯(lián)系下方小編。
相關(guān)文章
C語言中用棧+隊(duì)列實(shí)現(xiàn)隊(duì)列中的元素逆置
這篇文章主要介紹了C語言中用利用棧和隊(duì)列實(shí)現(xiàn)隊(duì)列中的元素逆置的相關(guān)資料,對正在學(xué)習(xí)的小伙伴有一定的參考價(jià)值,需要的可以參考一下,希望對你有所幫助2022-02-02C++實(shí)現(xiàn)俄羅斯方塊(linux版本)
這篇文章主要為大家詳細(xì)介紹了linux版本C++實(shí)現(xiàn)俄羅斯方塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07用C語言實(shí)現(xiàn)圣誕樹(簡易版+進(jìn)階版)
大家好,本篇文章主要講的是用C語言實(shí)現(xiàn)圣誕樹(簡易版+進(jìn)階版),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12解析bitmap處理海量數(shù)據(jù)及其實(shí)現(xiàn)方法分析
本篇文章是對bitmap處理海量數(shù)據(jù)及其實(shí)現(xiàn)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05