怎麼尋找BSD開發者,使用者或夥伴?重金屬科技2017-08-02 22:45:29

前蘋果 BSD 開發者 Jordan Hubbard 加盟了 iXsystems 公司開發下一代 BSD 系統 NextBSD。NextBSD 是基於 FreeBSD,但不是 FreeBSD 的分支,它基於 FreeBSD 核心,再加上 Mach,以及 Common Object Runtime 和 Libdispatch 等。開發者稱,NextBSD 將走向一條完全獨立的道路,它試圖快刀斬亂麻,為使用者提供新的技術。

什麼是 make?

當你寫一個簡單的程式,只有一到兩個原始檔的時候,輸入

% cc file1。c file2。c

就沒什麼問題,但如果有很多原始檔就會很煩人──編譯的時間也會很長。

一個方法就是使用目標檔案,只在原始檔有改變的情況下才重新編譯原始檔。因此你可以這樣做:

% cc file1。o file2。o。。。file37。c。。。

上次編譯後,file37。c 發生了改變,但其他檔案沒有。這樣做可以讓編譯過程快很多,但是也不能解決累人的輸入問題。

或者我們可以使用一個 shell script 來解決輸入問題,

但是也需要重新編譯所有檔案,在大型專案上很沒有效率。

如果有成百上千的原始檔的話怎麼辦?如果我們在與很多人合作寫程式,別人對原始檔進行了修改,又沒有告訴你,該怎麼辦?

也許我們可以把以上兩種方法結合,

寫一種像 shell script

一樣的東西。這種檔案包含某種技巧可以決定什麼時候該對原始檔進行編譯。現在所有我們要的就是一個程式可以懂得這種技巧,因為要懂得這種技巧,shell

還沒那麼大的能耐。

這個程式就叫 make。它讀入一個檔案,叫 makefile,這個檔案決定了原始檔之間的依賴關係。而且決定了原始檔什麼時候該編譯什麼時候不應該編譯。例如,某個規則可以說

“ 如果 fromboz。o 比 fromboz。c 要舊,意思就是有人修改了 fromboz。c,因此我們需要重新編譯這個檔案。”這個 makefile

還有規則通知 make 該 怎麼 重新編譯原始檔,因此

make 是一個強大得多的工具。

makefile 通常和相關的原始檔儲存在同一個目錄下,可以叫做 makefile,Makefile 或者 MAKEFILE。大多數程式設計師會使用 Makefile 這個名字,因為這樣可以讓這個檔案被放在目錄列 表的頂端,可以很容易得看見