原创 通用makefile是如何煉成的(V)

話不多說,上一篇中提到了想把編譯規則集中到單獨的文件夾,今天就來做這個。同products,我們將所有編譯規則移動的targets目錄下, ## main.mk 。。。 ## 只要給定源文件目錄以及目標hello.exe ## 調用ex

原创 設計模式推演——整合已有系統接口(Facade/Adapter)

上一篇文章中,我們提到OO中複用的方式有兩種,組合和繼承。一般情況下,應該儘可能使用組合的方式。現在以複用爲基本需求,推演若干常見組合型模式 1. Facade模式  當整合已有系統接口時,或者跨層調用接口時,如果出現 a. 覺得接口過

原创 設計模式推演——組合與繼承

OO中,複用代碼可以有組合和繼承兩種方式,正如廣大人民羣衆所論述的,儘可能使用組合。 這裏我再不厭其煩的說明一下理由: 1. 組合比繼承在框架結構上要簡單,不會造成過深的繼承層次。 2. 組合是黑盒重用,抽象層次更高。 其實上面這兩條我

原创 最新pydev(3.0)安裝後 沒有菜單顯示的問題

下載最新的pydev,安裝過程一切正常,而且查看已安裝軟件時可以看到pydev,但菜單欄和設置中就是沒有pydev,也不能新建python工程。 原因:最新pydev要求Java7,故將jdk升級到1.7後,重新安裝一遍pydev就可以正

原创 編譯鏈接5大潛規則

轉自:http://blog.csdn.net/zdl1016/article/details/9015447 潛規則1: 當一個符號在多個目標文件(.o)裏同時出現時, LD報錯. 提示符號多重定義. 當一個符號在多個靜態

原创 通用makefile是如何煉成的(VII)

上一次我們試圖引入多模塊,結果失敗了,今天我們來幫助失敗實現做母親的願望。在正式開始之前,先做一個孕前檢查 我們上一次的失敗原因有兩個 1.  編譯目標重定義。 2.  一些變量定義被覆蓋。 這些實際上是遞歸形式的多模塊makefile必

原创 通用makefile是如何煉成的(I)

標題比較誇張,但鄭重聲明本人不是標題黨,只是也沒有想到適合的名字。這裏通用不是核心,核心是“如何煉成”, 這個系列會一步步的從最簡單的makefile逐步導向一個較爲通用的makefile(沒有“複雜”兩字)。您可以在這個過程中,學到ma

原创 C/C++ 頭文件以及庫的搜索路徑

轉自:http://blog.sina.com.cn/s/blog_7195909a0100zi7i.html 關鍵點: 1. #include <...>  不會搜索當前目錄                 2. 使用 -I 參數指定

原创 設計模式推演——裝飾已有對象(Proxy/Decorator)

上一篇文章中,我們提到OO中複用的方式有兩種,組合和繼承。一般情況下,應該儘可能使用組合的方式。現在以複用爲基本需求,推演若干常見組合型模式 1. Decorator模式  需求:我們已經有一羣對象,現在想統一爲這些對象添加若干新特性

原创 makefile 必知必會

Makefile 必知必會 Makefile的根本任務是根據規則生成目標文件。 規則 一條規則包含三個:目標文件,目標文件依賴的文件,更新(或生成)目標文件的命令。 規則:                 <目標文件>:<依賴文件

原创 windows下git bash 亂碼的問題解決

http://blog.csdn.net/self001/article/details/7337182

原创 通用makefile是如何煉成的(Ⅸ)整體框架

通用makefile系列收視率比較慘淡,工程本身也進入尾期,這裏直接大躍進嘍 上類圖 類圖畫得不好,所以下面文字簡單解釋 1. 整個通用makefile分爲若干大塊,也就是上面用包表示的部分,主要是產品Product,編譯平臺Plat

原创 通用makefile是如何煉成的(VI)

今天我們嘗試引入多模塊,這次很有必要的。模塊化開發嘛 既然是多模塊,首先應該引入模塊的概念,module.mk. 直接將main.mk中的內容移動到module.mk即可 # main.mk ## 約定俗成,大家已經習慣性的總是將al

原创 通用makefile是如何煉成的(VIII)

”  停在這裏不敢走下去,     讓悲傷無法上演  下一頁你親手寫上的離別, 由不得我拒絕  這條路我們走得太匆忙,  擁抱着並不真實的慾望

原创 通用makefile是如何煉成的(X)—— 導入單元測試

經過這麼長的時間,我們的通用makefile已基本構建完成,下面使用一個具體的Examle,作爲如何使用的說明。 我們這個例子爲之前寫的hello world編寫單元測試。單元測試的工具使用gtest,比較簡單嘛。 1. 導入gtest文