C++ 構(gòu)建系統(tǒng)入門

首先推薦大家看一下這一篇Jetbrains的研究報告:

https://www.jetbrains.com/lp/devecosystem-2020/cpp/


編輯器使用分布


構(gòu)建系統(tǒng)使用分布:


CMake 與 Makefile 是非Windows平臺最主流的兩大構(gòu)建系統(tǒng)犁享。


下面講正題:

構(gòu)建系統(tǒng)的最主要功能是解決文件編譯順序依賴葵萎,三方共享庫依賴等問題碗短。

正確使用這些構(gòu)建系統(tǒng)能夠幫助大家節(jié)省大量時間魁衙,避免重復(fù)的手動敲命令。

今天來說說Makefile 以及 GNU Make 這個源遠流長巫俺,橫亙古今的優(yōu)秀構(gòu)建系統(tǒng)(雖然我也推薦新項目使用CMake)认烁。

Make 最核心的理念就是目標(biāo)驅(qū)動型構(gòu)建,即使用者通過表述目標(biāo)與這些目標(biāo)之間的關(guān)系來確定一個構(gòu)建任務(wù)圖。

表達形式類似:

target:? dependencies ...

? ? ? ? ? commands

? ? ? ? ? ...


舉個例子:

我們就定義了一個 foo.o 這個目標(biāo)却嗡。此外每條 rule 都表述了兩個信息:

This rule says two things:

How to decide whether?foo.o?is out of date: it is out of date if it does not exist, or if either?foo.c?or?defs.h?is more recent than it.

How to update the file?foo.o: by running?cc?as stated. The recipe does not explicitly mention?defs.h, but we presume that?foo.c?includes it, and that is why?defs.h?was added to the prerequisites.


具體的Make 的細節(jié)在文檔里講的比較清楚了舶沛、 Makefile 規(guī)則大家也可以參考文檔:

https://www.gnu.org/software/make/manual/html_node/index.html


大家可以寫個Makefile 動手嘗試一下!

此外窗价,一些好用的文章推薦給大家:

全面介紹:http://c.biancheng.net/view/7097.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末如庭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子撼港,更是在濱河造成了極大的恐慌坪它,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帝牡,死亡現(xiàn)場離奇詭異往毡,居然都是意外死亡,警方通過查閱死者的電腦和手機否灾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門卖擅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人墨技,你說我怎么就攤上這事惩阶。” “怎么了扣汪?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵断楷,是天一觀的道長。 經(jīng)常有香客問我崭别,道長冬筒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任茅主,我火速辦了婚禮舞痰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诀姚。我一直安慰自己响牛,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布赫段。 她就那樣靜靜地躺著呀打,像睡著了一般。 火紅的嫁衣襯著肌膚如雪糯笙。 梳的紋絲不亂的頭發(fā)上贬丛,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機與錄音给涕,去河邊找鬼豺憔。 笑死额获,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的焕阿。 我是一名探鬼主播咪啡,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼暮屡!你這毒婦竟也來了撤摸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤褒纲,失蹤者是張志新(化名)和其女友劉穎准夷,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體莺掠,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡衫嵌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了彻秆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片楔绞。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖唇兑,靈堂內(nèi)的尸體忽然破棺而出酒朵,到底是詐尸還是另有隱情,我是刑警寧澤扎附,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布蔫耽,位于F島的核電站,受9級特大地震影響留夜,放射性物質(zhì)發(fā)生泄漏匙铡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一碍粥、第九天 我趴在偏房一處隱蔽的房頂上張望鳖眼。 院中可真熱鬧,春花似錦嚼摩、人聲如沸钦讳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至匪凡,卻和暖如春膊畴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背病游。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工唇跨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留稠通,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓买猖,卻偏偏與公主長得像改橘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子玉控,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345