在項(xiàng)目上有時需要提供程序給客戶自己修改一些參數(shù)調(diào)節(jié)效果,但自己又不想提供源碼公開時,這時就可以使用keil自帶的打包Lib文件功能朋沮,操作如下:
1何荚、先打開一個工程項(xiàng)目囱淋,如果DRIVER文件下的lcd.c、key.c兽泣、24c02.c和IIC.c這四個文件的源碼不想給別人看到的話绎橘,就將這些文件進(jìn)行打包成Lib庫,如下圖1:
2、將除了這四個文件外的其它文件都移除掉称鳞,這里可以先備份一份原工程項(xiàng)目涮较,稍后可以將轉(zhuǎn)化后的Lib庫直接使用,而不用再將移除掉的文件重新添加冈止,如下圖2:
3狂票、點(diǎn)擊上方工具欄的“Options for Target...”選項(xiàng),如下圖3的紅框:
4熙暴、點(diǎn)擊“Output”選項(xiàng)闺属,先點(diǎn)擊紅框1的“Select Folder for Objects”設(shè)置打包的Lib庫文件保存位置,途徑自己設(shè)置就行了周霉,然后勾選紅框2的“Create Library”(Create Library后面就是保存的位置)掂器,點(diǎn)擊OK設(shè)置完畢,如下圖4:
5俱箱、進(jìn)行編譯国瓮,編譯完之后會在剛剛的保存路徑生成一個.lib文件,復(fù)制該文件狞谱,如下圖5:
6乃摹、在第2步備份的原工程項(xiàng)目可以新建個文件夾存放該復(fù)制的.lib文件,然后將剛剛封裝成Lib的四個.c文件lcd.c跟衅、key.c孵睬、24c02.c和IIC.c從文件夾里面刪掉,只保留這四個文件的.h文件伶跷,因?yàn)檫@里需要從這些.h文件去鏈接對應(yīng)的.c文件的函數(shù)掰读,所以打包成庫的話只能看到.h文件里面的接口函數(shù)而看不到源碼,紅框里就是刪減后的DRIVER文件和新增的Lib庫文件撩穿,如下圖6:
7磷支、到這里已經(jīng)將所有步驟都完成了,接著進(jìn)行編譯食寡,編譯通過雾狈,如下圖7:
注意:這里打包成庫的文件不能用函數(shù)通過右鍵“Go To Definition of xxxxx”去跳轉(zhuǎn)到源碼上了,只能看到對應(yīng).h文件里面的函數(shù)名抵皱。
這里也可以將一些官方庫進(jìn)行打包封裝善榛,因?yàn)榫幾g時許多有用到的官方庫都會進(jìn)行編譯,這樣編譯起來會浪費(fèi)很長時間呻畸,所以這里也可以將這些文件進(jìn)行打包移盆,這樣編譯工程就不會將這些文件再次編譯,這樣就可以節(jié)省很多時間伤为。