鼓搗linux的朋友都知道,linux下有一個叫busybox的項目,它把大多數unix的基本命令都集成編譯成一個單獨的程序。FREEBSD也有一種機制,叫做crunch.它允許我們不用加載標準庫也可以利用其它程序中的相同函數。crunch使用一個平板的文本文件來定制集成的程序、編譯選項以及需要的LIBS。下面是我在freebsd4.9RELEASE上,集成編譯/bin和/sbin下常用程序的一個配置文件,這些文件如果靜態編譯,大約占用16M左右的空間.
#crunch配置文件最常見的指令有buildopts(編譯選項)、srcdirs(指定代碼路徑)
#PRogs(指定要集成的程序)、ln(創建指向一個程序的連接)、libs(指定需要的庫)
#其他指令和crunch的細節請參看mancrunchgen和crunchide
#指定編譯時不包含ipsec、ipv6、和crypt
寫完配置文件后,就可以使用crunchgen來生成Makefile和代碼了。
新聞熱點
疑難解答