FreeBSD手工編譯安裝程式(轉)
雖然使用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.outHello, 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語言編譯器,它提供了多種選項用於生成應用軟體。以下為常用的一些選項:
相關文章
- FreeBSD編譯安裝新核心(轉)編譯
- FREEBSD下使用crunch整合編譯程式(轉)編譯
- FreeBSD 下使用crunch整合編譯程式(轉)編譯
- FreeBSD安裝samba(轉)Samba
- freebsd手工配置網路(轉)
- 安裝 GCC 編譯器(轉)GC編譯
- FreeBSD中的GNU C編譯器--編譯器GCC(轉)編譯GC
- STLPort的編譯和安裝 (轉)編譯
- FreeBSD安裝與配置概述(轉)
- FreeBSD下安裝GNOME桌面(轉)
- WDM驅動程式設計之編譯安裝篇 (轉)程式設計編譯
- 在solrais下編譯安裝MySQL(轉)SolrAI編譯MySql
- FreeBSD安裝檔案系統(轉)
- linux網路卡驅動程式的編譯與安裝(轉)Linux編譯
- 編譯安裝zabbix編譯
- apache編譯安裝Apache編譯
- 編譯安裝nmon編譯
- swoole 編譯安裝編譯
- 編譯安裝Nginx編譯Nginx
- 編譯安裝mysql編譯MySql
- nginx編譯安裝Nginx編譯
- 手把手教你編譯安裝MPlayer(轉)編譯
- ubuntu GNOME下完美編譯安裝EVA(轉)Ubuntu編譯
- 在FreeBSD上安裝Linuxigd(轉)Linux
- FreeBSD安裝之自動分割槽(轉)
- FreeBSD安裝VMTools
- Fedora Core 5 下編譯安裝 Emacs 23(轉)編譯Mac
- Freebsd P怎麼安裝?Freebsd PF 安裝使用詳解
- Shell編譯安裝nginx編譯Nginx
- centos PHP 編譯安裝CentOSPHP編譯
- httpd編譯安裝phphttpd編譯PHP
- PHP的編譯安裝PHP編譯
- Mysql 5.7.17 編譯安裝MySql編譯
- ffmpeg安裝之linux編譯安裝Linux編譯
- 用Delphi編寫安裝程式(1) (轉)
- 自己編寫安裝製作程式 (轉)
- Linux上安裝GCC編譯器過程(轉)LinuxGC編譯
- CentOS 下編譯安裝 NginxCentOS編譯Nginx