国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

用C++語言做Linux開發工具之粘合劑Makefile方法

2024-08-27 23:55:42
字體:
來源:轉載
供稿:網友
  我想通過“粘合劑”這個詞來表達將多個工具粘合起來的“膠水”。例如,通過shell腳本,我們可以把OS命令,sed指令,awk指令,其它腳本文件等串聯起來,發揮它們的合力。在linux C++編程中,我們不可避免地會使用用C++語言做Linux開發工具粘合劑makefile文件。通過,它我們可以把編譯指令,生成文檔操作,清除操作等等串聯起來。從某種意義上來看,它也相當于一個粘合劑。
 
  make使用的重點和難點是編寫用用C++語言做Linux開發工具粘合劑Makefile文件。Makefile的語法相對其它語言來說是很不一樣的,我們要特別注意TAB鍵和空格鍵的區別。有很多工具可以用來幫助我們生成Makefile。最出名的就是GNU的autoconf了。一個GNU程序的編寫,需要autoscan, aclocal, autoconf, automake這四個工具。

  用C++語言做Linux開發工具粘合劑Makefile的出發點是,維護好一個項目中眾多文件的依賴關系,由此得到一個源程序的拓撲圖。當我們只修改圖中某個結點時,重新編譯時就只需要將拓撲圖中關聯的鏈路進行編譯就好了。由此,大大縮短了編譯的時間。make有兩大概念:dependencies和rules。規則rule即針對每一個依賴關系 dependency定義一個操作規則。這個細粒度的分離,就可以使我們可以定制軟件構建的行為。例如,修改使用的編譯器,修改includepath, 修改libpath, 修改編譯選項等等。我們常見的VC中的nmake,功能和make是類似的。
 
  我們知道GNU軟件安裝的三步曲是:./configure, make, make install。其中./configure就是根據autoconf, alocal等工具生成一個makefile文件。make指令就是調用make指令來根據makefile文件的規則來編譯源程序。而make install就是執行makefile中的install規則指出的操作(一般是copy操作)。而make clean就是執行makefile中的clean規則指出的操作(一般是rm操作)。我們用Eclispe+CDT開發Managed C++ Project時,它就是通過objects.mk,subdir.mk,sources.mk三個文件來生成Makefile。我們注意觀察編譯時的輸出信息,就可以看到顯示的Makefile文件的內容。
 
  可以說,如果想編譯出跨平臺的C++程序,那么用C++語言做Linux開發工具Makefile是一種最方便的機制。
 
  OCI公司為Douglas C.Schmidt的ACE,TAO開源社區編寫了一段偉大的perl腳本--MPC。它由平臺信息,一個規則文件,源代碼,生成用戶想要的工程文件,例如Make, Nmake, Visual C++ 6, Visual C++ 7等等。Google Web Tookit, Celtix做的事情與之類似,不過它們是針對JAVA的,而MPC是針對C++的。
 
 

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 渝北区| 岳普湖县| 永顺县| 邯郸市| 扬州市| 芜湖县| 行唐县| 永仁县| 洛隆县| 乐东| 巴彦淖尔市| 临城县| 台北市| 申扎县| 永寿县| 攀枝花市| 德江县| 巨鹿县| 普陀区| 桦川县| 巩留县| 克什克腾旗| 汉源县| 商洛市| 蓬莱市| 大冶市| 罗山县| 虞城县| 合肥市| 扎兰屯市| 泽州县| 姚安县| 登封市| 襄城县| 抚宁县| 龙南县| 方城县| 梨树县| 康平县| 白水县| 灵璧县|