FreeBSD手工編譯安裝程式(轉)

gugu99發表於2007-08-11
FreeBSD手工編譯安裝程式(轉)[@more@]

  雖然使用Ports Collection編譯和安裝軟體非常簡便,然而仍有兩個理由來使用手工編譯安裝方式。一方面是Ports Collection中並不能涵蓋所有的軟體,有很多軟體沒有收入Ports Collection中。有很多原因使得一些很優秀的軟體沒有被收集入Ports Collection,例如,版權因素,或者沒有志願者對它移植到FreeBSD進行維護。另一方面,即使是透過Port來定製軟體,仍需要了解了手工編譯安裝的過程和各種編譯工具的使用,才能正常進行定製工作。

  通常在FreeBSD下編譯並安裝應用程式並不困難,因為FreeBSD是一種非常標準的Unix,為Unix開發的標準C程式很容易就能在它上面編譯執行。

  • 編譯和軟體工具

  為了編譯和安裝一個應用程式,必須要了解編譯和執行軟體的一般方法。對於大型程式和要求高效率的軟體,通常用高階語言C來開發,使用C語言編譯器將C源程式編譯成執行程式。由於使用高階語言不依賴於硬體結構,這使得軟體非常容易移植。Unix不僅提供了編譯器,而且還提供了眾多的工具來幫助進行編譯和維護,最有用的工具為make。

  • GNU C與編譯連線過程

  C作為一種編譯型的高階語言,這就是說執行C程式之前要將其先編譯成可執行的由機器指令構成的執行程式,因此就需要使用一個編譯器來對C原始碼進行處理,FreeBSD使用的是GNU的C編譯器。

$ cc hello.c

$ ./a.out

Hello, world!

  UNIX下預設使用a.out作為生成的檔名,可以使用-o引數指出生成的執行檔名。

  事實上前面的編譯生成執行檔案的過程由兩步組成,一是生成目標檔案,通常使用.o為字尾,然後進行連線生成執行檔案。因此,可以使用ar將多個目標檔案組合成一個函式庫檔案,而可以使用nm來檢視庫檔案的內容。

$ cc -c f1.c

$ cc -c f2.c

$ ar c mlib.a f1.o f2.o

$ nm mlib.a

  FreeBSD使用的C語言編譯器gcc是一種非常流行的,多平臺、高效率的C語言編譯器,它提供了多種選項用於生成應用軟體。以下為常用的一些選項:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-944720/,如需轉載,請註明出處,否則將追究法律責任。

FreeBSD手工編譯安裝程式(轉)
請登入後發表評論 登入
全部評論

相關文章