首頁>Club>
微軟和FreeBSD基金會合作舉辦BSD Meetup,想讓中國的BSD開發者,使用者,愛好者聚在一塊分享。
6
回覆列表
  • 1 # 重金屬科技

    前蘋果 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 這個名字,因為這樣可以讓這個檔案被放在目錄列 表的頂端,可以很容易得看見

  • 中秋節和大豐收的關聯?
  • 當今社會,買套公寓還是租房或者買車好?