最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C/C++項(xiàng)目編譯工具簡單介紹

 更新時(shí)間:2019年12月22日 10:02:06   作者:躺椅可眷  
我們給大家?guī)砹艘黄P(guān)于C/C++項(xiàng)目編譯工具簡單介紹的文章,大家在項(xiàng)目編譯前可以先閱讀下。

本文基于一個(gè)需要對 C 語言家族項(xiàng)目進(jìn)行編譯、生成解決方案的開發(fā)者的視角,對編譯過程中所需要的各個(gè)工具進(jìn)行簡要的名詞解釋。

GCC | LLVM 提供編譯器 <-- GNU Make 根據(jù)配置文件進(jìn)行編譯 <-- Autoconf | CMake 自動(dòng)生成編譯用的配置文件

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

GCC | LLVM

GCC 和 LLVM 是我們在編譯 C 系項(xiàng)目時(shí)最常使用的兩個(gè)工具鏈。

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

LLVM 的全稱就是 LLVM (最開始的時(shí)候作為 Low Level Virtual Machine 的縮寫,現(xiàn)在涵義已經(jīng)發(fā)生了變化),現(xiàn)在是作為 LLVM 的編譯器和工具鏈集合的一個(gè)總稱。

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

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

Clang 是 LLVM 集合前端中的 C 系編譯器和工具鏈。Clang 兼容 GCC ,Clang 出現(xiàn)的時(shí)間比 GCC 晚,相比 GCC , Clang 的編譯速度更快,錯(cuò)誤提示更友好。

GNU Make

當(dāng)項(xiàng)目的源文件數(shù)量很多,結(jié)構(gòu)十分復(fù)雜時(shí),僅僅使用編譯器對項(xiàng)目進(jìn)行編譯,會(huì)是一件十分繁瑣的事情,引用頭文件目錄,引入源文件,引入第三方靜態(tài)庫動(dòng)態(tài)庫都會(huì)十分的繁瑣。

GNU Make 能夠基于前面提供的編譯器,選擇項(xiàng)目中合適的源文件來生成項(xiàng)目所需的中間目標(biāo)文件和可執(zhí)行文件。開發(fā)者通過編寫一個(gè)名為 makefile 的文件來指導(dǎo) GNU Make 處理編譯。

Autoconf | CMake

Autoconf 是 m4 宏處理的擴(kuò)展包,通過它可以生成一個(gè)腳本,這個(gè)腳本能夠自動(dòng)生成編譯用的配置文件。Autoconf 和 Automake 是一對。

CMake 是一個(gè)開源的軟件,開發(fā)者通過編寫?yīng)毩⒂谄脚_和編譯器的配置文件,來指導(dǎo)項(xiàng)目的編譯過程。

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

參考鏈接

LLVM

GCC,the GNU Compiler Collection

GNU Make

diff between gcc and g++

Programming Languages Supported by GCC

Clang

CMake

Autoconf

以上就是本次介紹的全部知識點(diǎn)內(nèi)容,希望腳本之家整理的內(nèi)容能夠幫助到大家,如果有其他步驟可以聯(lián)系下方小編。

相關(guān)文章

  • C++實(shí)現(xiàn)LeetCode(116.每個(gè)節(jié)點(diǎn)的右向指針)

    C++實(shí)現(xiàn)LeetCode(116.每個(gè)節(jié)點(diǎn)的右向指針)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(116.每個(gè)節(jié)點(diǎn)的右向指針),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 淺析C++ new的三種面貌

    淺析C++ new的三種面貌

    這篇文章主要介紹了C++ new的三種面貌,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • C語言實(shí)現(xiàn)漢諾塔游戲

    C語言實(shí)現(xiàn)漢諾塔游戲

    個(gè)人覺得漢諾塔這個(gè)遞歸算法比電子老鼠的難了一些,不過一旦理解了也還是可以的,其實(shí)網(wǎng)上也有很多代碼,可以直接參考。記得大一開始時(shí)就做過漢諾塔的習(xí)題,但是那時(shí)代碼寫得很長很長,也是不理解遞歸的結(jié)果。今天重新來實(shí)現(xiàn)一下
    2015-03-03
  • C++超詳細(xì)講解內(nèi)存空間分配與this指針

    C++超詳細(xì)講解內(nèi)存空間分配與this指針

    this?指針在C++類和對象中是個(gè)很方便實(shí)用的關(guān)鍵字,可以簡化對象成員屬性的調(diào)用,使代碼表達(dá)的含義更加準(zhǔn)確;在之前的學(xué)習(xí)中我們都可以判斷變量所占內(nèi)存空間大小,那么我們創(chuàng)建的類對象所占的內(nèi)存空間怎么計(jì)算呢?想知道this的妙用和類對象占用的內(nèi)存空間就來跟我學(xué)習(xí)吧
    2022-05-05
  • C++重載的奧義之運(yùn)算符重載詳解

    C++重載的奧義之運(yùn)算符重載詳解

    函數(shù)的重載是指利用相同的函數(shù)名設(shè)計(jì)一系列功能相近,但是功能細(xì)節(jié)不一樣的函數(shù)接口;因此運(yùn)算符重載也是指對于同一個(gè)運(yùn)算符來說,它可以用于實(shí)現(xiàn)不同的功能。下面就一起來理解下運(yùn)算符重載的應(yīng)用吧
    2023-04-04
  • VC6.0常見編譯錯(cuò)誤提示附解決方法

    VC6.0常見編譯錯(cuò)誤提示附解決方法

    這篇文章主要介紹了VC++6.0編譯過程中常遇到的一些錯(cuò)誤提示并給出了錯(cuò)誤原因與分析,需要的朋友尅參考下
    2013-07-07
  • C++類與對象深入之運(yùn)算符重載與const及初始化列表詳解

    C++類與對象深入之運(yùn)算符重載與const及初始化列表詳解

    運(yùn)算符是程序中最最常見的操作,例如對于內(nèi)置類型的賦值我們直接使用=賦值即可,因?yàn)檫@些編譯器已經(jīng)幫我們做好了,但是對象的賦值呢?能直接賦值嗎
    2022-06-06
  • C++中函數(shù)重載實(shí)例詳解

    C++中函數(shù)重載實(shí)例詳解

    這篇文章主要介紹了C++中函數(shù)重載實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C++無符號整數(shù)溢出問題解析

    C++無符號整數(shù)溢出問題解析

    這篇文章主要介紹了C++無符號整數(shù)溢出探究,本文主要探討C/C++中無符號整數(shù)超過范圍后的計(jì)算問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C語言入門篇--變量[定義,初始化賦值,外部聲明]

    C語言入門篇--變量[定義,初始化賦值,外部聲明]

    本篇文章是c語言基礎(chǔ)篇,本文對初識c語言的變量、變量的定義、初始化與賦值、變量的分類、含義、外部聲明做了簡要的描述,幫助大家快速入門c語言的世界,更好的理解c語言
    2021-08-08

最新評論

兴化市| 二连浩特市| 青田县| 古交市| 神池县| 城口县| 大方县| 扶余县| 松桃| 道真| 潜江市| 东乡族自治县| 贵阳市| 太谷县| 留坝县| 益阳市| 松江区| 临高县| 百色市| 嘉祥县| 从江县| 武陟县| 峡江县| 宿州市| 徐闻县| 阜宁县| 景宁| 沁阳市| 昆山市| 通江县| 瑞昌市| 眉山市| 中山市| 谢通门县| 星子县| 巴里| 平乡县| 綦江县| 皮山县| 阳谷县| 靖西县|