在軟件項目開發過程中,make 工具通常被用來建造程序,make 工具通過一個被稱為 Makefile 的配置文件可以自動的檢測文件之間的依賴關系,這對于建造復雜的項目非常有幫助,然而,編寫 Makefile 本身卻不是一件容易的事情,SCons 是一個用 Python 語言編寫的類似于 make 工具的程序,與 make 工具相比較,SCons 的配置文件更加簡單清晰明了,除此之外,它還有許多的優點,本文將簡單介紹如何在軟件開發項目中使用 SCons,通過本文,讀者可以學習到如何使用 SCons 來建造自己的程序項目。
make 這個工具自上個世紀 70 年代 Stuart Feldman 在貝爾實驗室開發出以來,就一直是類 UNIX 程序員的最愛之一,通過檢查文件的修改時間,make 工具可以知道編譯目標文件所要依賴的其他文件,在復雜的項目中,如果只有少數幾個文件修改過,make 工具知道僅僅需要對哪些文件重新編譯就可以確保目標程序被正確的編譯鏈接。這樣做的好處就是在編譯中,不僅可以節省大量的重復輸入,還可以確保程序可以被正確的鏈接,縮短編譯的時間。雖然如此,但是為 make 工具編寫建造規則卻不是一件容易的事。它復雜的配置規則,即使是有經驗的開發者也望而生畏。make 工具的許多替代品便因此而誕生,SCons 就是是其中之一。SCons 是一個用 Python 語言編寫的類似于 make 工具的程序。與 make 工具相比較,SCons 的配置文件更加簡單清晰明了,除此之外,它還有許多的優點。
SCons 簡介
SCons 是一個開放源代碼、以 Python 語言編寫的下一代的程序建造工具。它最初的名字是 ScCons, 基于由 perl 語言編寫的 Cons 軟件開發而成,它在 2000 年 8 月獲得了由 Software Carpentry 舉辦的 SC 建造比賽的大獎。現在 ScCons 已經被改名為 SCons,目的是為了表示不再與 Software Carpentry 有聯系,當然,還有一個目的,就是為了更方便的輸入。
作為下一代的軟件建造工具,SCons 的設計目標就是讓開發人員更容易、更可靠和更快速的建造軟件。與傳統的 make 工具比較,SCons 具有以下優點:
●使用 Python 腳本做為配置文件
●對于 C,C++ 和 Fortran, 內建支持可靠自動依賴分析 . 不用像 make 工具那樣需要 執行"make depends"和"make clean"就可以獲得所有的依賴關系。
●內建支持 C, C++, D, Java, Fortran, Yacc, Lex, Qt,SWIG 以及 Tex/Latex。 用戶還可以根據自己的需要進行擴展以獲得對需要編程語言的支持。
●支持 make -j 風格的并行建造。相比 make -j, SCons 可以同時運行 N 個工作,而 不用擔心代碼的層次結構。
●使用 Autoconf 風格查找頭文件,函數庫,函數和類型定義。
●良好的夸平臺性。SCons 可以運行在 Linux, AIX, BSD, HP/UX, IRIX, Solaris, Windows, Mac OS X 和 OS/2 上。
安裝 SCons
SCons 支持多種操作系統平臺,并為各個系統制作了易于安裝的文件,因此在各個系統平臺上的安裝方法不盡相同,在 SCons 的官方網站上可以查每個平臺的具體安裝方法,如果 SCons 沒有為你的系統制作相應的安裝包,你也可以下載 SCons 的源代碼,直接進行安裝,首先,從 SCons 的網站上下載最新的 SCons 源代碼包(目前 SCons 的最新版本是 2.0.1),其次,解壓下載的源代碼,視下載的源代碼包的格式不同而有不同的方法,在 Windows 平臺上,可是使用 winzip 或者其他類似的工具解壓,在 Linux 平臺上,對于 tar 包,使用 tar 命令進行解壓,如:
$ tar -zxf scons-2.0.1.tar.gz
然后切換進入解壓后的目錄進行安裝,如
$ cd scons-2.0.1$ sudo python setup.py install
命令執行如果沒有錯誤,那么 scons 就被安裝到系統上了。對于 Linux 來說,scons 會默認安裝到 /usr/loca/bin 目錄下,而在 Windows 平臺上,則會被安裝到 C:Python25Scripts 下。
新聞熱點
疑難解答