第一部分、概述(本分類隨筆僅用作自己回顧知識、複習使用,無其他用途,主要參考文件《跟我一起寫Makefile》,謝謝)
一個工程中的原始檔不計數,其按型別、功能、模組分別放在若干個目錄中,makefile 定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至於進行更復雜的功能操作,因為makefile 就像一個 Shell 指令碼一樣,其中也可以執行作業系統的命令。 makefile 帶來的好處就是——“自動化編譯”,一旦寫好,只需要一個 make 命令,整個工程完全自動編譯,極大的提高了軟體開發的效率。
相關推薦
第一部分、概述(本分類隨筆僅用作自己回顧知識、複習使用,無其他用途,主要參考文件《跟我一起寫Makefile》,謝謝)
一個工程中的原始檔不計數,其按型別、功能、模組分別放在若干個目錄中,makefile 定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至於進行更復雜的功能操作,因為makefile 就像一個 Shell 指令碼一樣,其中也可以執行作業系統的命令。 makefile 帶
跟我一起寫 Makefile - 1. 概述
跟我一起寫 Makefile - 1. 概述 http://wiki.ubuntu.org.cn 1. 概述 什麼是 Makefile?Windows 的整合開發環境 (integrated development environment, IDE) 完成了 Makefile 的
跟我一起寫 Makefile(二)
三、make是如何工作的 在預設的方式下,也就是我們只輸入make命令。那麼, 1、make會在當前目錄下找名字叫“Makefile”或“makefile”的檔案。 2、如果找到,它會找檔案中的第一個目標檔案(target),在上面
跟我一起寫 Makefile(五)
六、多目標 Makefile的規則中的目標可以不止一個,其支援多目標,有可能我們的多個目標同時依賴於一個檔案,並且其生成的命令大體類似。於是我們就能把其合併起來。當然,多個目標的生成規則的執行命令是同一個,這可能會可我們帶來麻煩,不過好在我們的可以使用一個自動化變數“[email protecte
跟我一起寫 Makefile(六)
書寫命令———— 每條規則中的命令和作業系統Shell的命令列是一致的。make會一按順序一條一條的執行命令,每條命令的開頭必須以[Tab]鍵開頭,除非,命令是緊跟在依賴規則後面的分號後的。在命令列之間中的空格或是空行會被忽略,但是如果該空格或空行是以Tab鍵開頭的,那麼make會認為其是一個空命令。 我
跟我一起寫 Makefile(四)
書寫規則———— 規則包含兩個部分,一個是依賴關係,一個是生成目標的方法。 在Makefile中,規則的順序是很重要的,因為,Makefile中只應該有一個最終目標,其它的目標都是被這個目標所連帶出來的,所以一定要讓make知道你的最終目標是什麼。一般來說,定義在Makefile中的目標可能會有很多,但是
跟我一起寫 Makefile(十三)
五、定義模式規則 你可以使用模式規則來定義一個隱含規則。一個模式規則就好像一個一般的規則,只是在規則中,目標的定義需要有"%"字元。"%"的意思是表示一個或多個任意字元。在依賴目標中同樣可以使用"%",只是依賴目標中的"%"的取值,取決於其目標。 有一點需要注意的是,"%"的展開發生在變數和函式的展開之後
跟我一起寫 Makefile(十二)
隱含規則———— 在我們使用Makefile時,有一些我們會經常使用,而且使用頻率非常高的東西,比如,我們編譯C/C++的源程式為中間目標檔案(Unix下是[.o]檔案,Windows下是[.obj]檔案)。本章講述的就是一些在Makefile中的“隱含的”,早先約定了的,不需要我們再寫出來的規則。 “隱
跟我一起寫 Makefile(十一)
make 的執行—————— 一般來說,最簡單的就是直接在命令列下輸入make命令,make命令會找當前目錄的makefile來執行,一切都是自動的。但也有時你也許只想讓make重編譯某些檔案,而不是整個工程,而又有的時候你有幾套編譯規則,你想在不同的時候使用不同的編譯規則,等等。本章節就是講述如何使用ma
跟我一起寫 Makefile(十)
四、foreach 函式 foreach函式和別的函式非常的不一樣。因為這個函式是用來做迴圈用的,Makefile中的foreach函式幾乎是仿照於Unix標準Shell(/bin/sh)中的for語句,或是C-Shell(/bin/csh)中的foreach語句而構建的。它的語法是: &
跟我一起寫 Makefile(九)
使用函式———— 在Makefile中可以使用函式來處理變數,從而讓我們的命令或是規則更為的靈活和具有智慧。make所支援的函式也不算很多,不過已經足夠我們的操作了。函式呼叫後,函式的返回值可以當做變數來使用。 一、函式的呼叫語法 函式呼叫,很像變數的使用,也是以“$”來標識的,其語法如下: &nbs
跟我一起寫 Makefile(十四)
使用make更新函式庫檔案——————————— 函式庫檔案也就是對Object檔案(程式編譯的中間檔案)的打包檔案。在Unix下,一般是由命令"ar"來完成打包工作。 一、函式庫檔案的成員 一個函式庫檔案由多個檔案組成。你可以以如下格式指定函式庫檔案及其組成:
Linux makefile (跟我一起寫 Makefile)
Linux makefile 教程 非常詳細,且易懂 如果需要次文件的電子檔,請留言。 概述 —— 什麼是makefile?或許很多Winodws的程式設計師都不知道這個東西,因為那些Windows的IDE都為你做了這個工作,但我覺得要作一個好的和professional的程式設計師,m
跟我一起寫Makefile(10)--- 變數(巢狀變數+追加變數+overrid+多行變數+環境變數+目標變數+模式變數)
使用變數 ———— 在Makefile中的定義的變數,就像是C/C++語言中的巨集一樣,他代表了一個文字字串,在Makefile中執行的時候其會自動原模原樣地展開在所使用的地方。其與C/C++所不同的是,你可以在Makefile中改變其值。在Makefile中,變數可以
跟我一起寫Makefile(13)--- make的執行(make的退出碼+指定Makefile+制定目標+檢查規則+make的引數)
make 的執行 —————— 一般來說,最簡單的就是直接在命令列下輸入make命令,make命令會找當前目錄的makefile來執行,一切都是自動的。但也有時你也許只想讓make重編譯某些檔案,而不是整個工程,而又有的時候你有幾套編譯規則,你想在不同的時候使用不同的編
跟我一起寫Makefile(7)--- 環境變數MAKEFILES+make的工作方式
四、環境變數 MAKEFILES 如果你的當前環境中定義了環境變數MAKEFILES,那麼,make會把這個變數中的值做一個類似於include的動作。這個變數中的值是其它的Makefile,用空格分隔。只是,它和include不同的是,從這個環境變中引入的Makefi
和我一起寫Makefile(原創)
這裡以例項形式來記錄一步一步寫出makefile的過程。 有關詳細介紹和說明可見之前轉載的一篇文章:《和我一起寫Makefile(轉載)》 先放圖: 預備知識GCC GCC引數: -v 檢視版本 -I 指定標頭檔案目錄,注意-I後沒有空格
機器學習與深度學習系列連載: 第一部分 機器學習(五) 生成概率模型(Generative Model)
生成概率模型(Generative Model) 1.概率分佈 我們還是從分類問題說起: 當我們把問題問題看做是一個迴歸問題, 分類是class 1 的時候結果是1 分類為class 2的時候結果是-1; 測試的時候,結果接近1的是class1
機器學習與深度學習系列連載: 第一部分 機器學習(九)支援向量機2(Support Vector Machine)
另一種視角定義SVM:hinge Loss +kennel trick SVM 可以理解為就是hingle Loss和kernel 的組合 1. hinge Loss 還是讓我們回到二分類的問題,為了方便起見,我們y=1 看做是一類,y=-1 看做是另一類
機器學習與深度學習系列連載: 第一部分 機器學習(十一)決策樹2(Decision Tree)
決策樹2 決策樹很容易出現過擬合問題,針對過擬合問題,我們採用以下幾種方法 劃分選擇 vs 剪枝 剪枝 (pruning) 是決策樹對付“過擬合”的 主要手段! 基本策略: 預剪枝 (pre-pruning): 提前終止某些分支的生長 後剪枝 (post-pr