国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

FREEBSD下使用crunch集成編譯程序

2019-11-18 17:24:33
字體:
來源:轉載
供稿:網友

鼓搗linux的朋友都知道,linux下有一個叫busybox的項目,它把大多數unix的基本命令都集成編譯成一個單獨的程序。FREEBSD也有一種機制,叫做crunch.它允許我們不用加載標準庫也可以利用其它程序中的相同函數。crunch使用一個平板的文本文件來定制集成的程序、編譯選項以及需要的LIBS。下面是我在freebsd4.9RELEASE上,集成編譯/bin和/sbin下常用程序的一個配置文件,這些文件如果靜態編譯,大約占用16M左右的空間.

#cattinyware.conf

#crunch配置文件最常見的指令有buildopts(編譯選項)、srcdirs(指定代碼路徑)
#PRogs(指定要集成的程序)、ln(創建指向一個程序的連接)、libs(指定需要的庫)
#其他指令和crunch的細節請參看mancrunchgen和crunchide

#指定編譯時不包含ipsec、ipv6、和crypt

buildopts-DRELEASE_CRUNCH-DNOIPSEC-DNOINET6-DNOCRYPT

#指定程序需要的代碼路徑
srcdirs/usr/src/bin
srcdirs/usr/src/sbin
srcdirs/usr/src/secure/lib

#/bin下的常見程序
progscatchiochmodcpcshdatedddfdomainnameecho
progsexprhostnamekilllnlsmkdirmvpspwdrmshrmdir
progssleepsttysynctested

#創建一個指向test的連接
lntest[
#/sbin下的常見程序
progsadjkerntzdmesgdisklabelfsckifconfiginit
progsipfipfsipfstatipfwipmonipnatnatd
progskldconfigkldloadkldstatkldunloadldconfigmd5mknod
progsmountmount_nullmount_unionnewfsmount_stdumount
lnmount_stdmount_procfs
lnnewfsmount_mfs
progspingrebootrestorerouteroutedshutdownsysctl

#指定這些程序需要的庫,想知道這些程序都需要什么庫,你可以使用這樣的命令:
#grep-irLDADD/usr/src/bin/*
#這樣就能抽取出包含在Makefile中的指定庫的行
libs-ltermcap-lcrypt-lutil-lm-lcipher-lkvm-ll-ledit
libs-lcrypto-lipx-lncurses-lmd-lalias-lipsec


寫完配置文件后,就可以使用crunchgen來生成Makefile和代碼了。

#crunchgen-mMakefiletinyware.conf
然后你可以這樣編譯它:
#make-fMakefile
如果沒什么錯誤,應該就可以生成tinyware的可執行程序,如果出錯,請重新檢查是
否沒寫全libs和srcdirs
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上蔡县| 隆德县| 罗山县| 渭源县| 永春县| 常德市| 肥城市| 兴隆县| 界首市| 启东市| 永康市| 黎川县| 阿拉尔市| 文安县| 波密县| 峨眉山市| 丹凤县| 闻喜县| 明水县| 阳朔县| 保靖县| 黔东| 澄迈县| 商城县| 邹城市| 德江县| 临夏县| 呼伦贝尔市| 平顶山市| 宣化县| 元朗区| 蓬溪县| 工布江达县| 陆良县| 衡东县| 都匀市| 民权县| 闻喜县| 蕲春县| 新民市| 绵竹市|