本帖最后由 51黑黑黑 于 2016-2-24 17:19 編輯
問題引出:為什么要做成lib庫?
1、有些人不想將自己寫的源代碼公開,但是同時庫文件又需要讓別人能夠正常調用,那封裝成lib的格式就是一個好方法。 2、編譯某些工程文件時非常耗時,像UCGUI和ST官方的庫時,由于文件眾多,編譯一次可能得1兩分鐘,這時可以打包成庫,這時編譯工程時就不會再次編譯庫的文件,節省不少的時間。(但同時也不能用右鍵go to Definition 'XXX'來直接找到源文件定義了,這是一點不足的地方) 制作方法:以UCGUI為例 第一步:打開一個測試通過的工程。(如果本來要打包的庫文件里面的代碼有錯的話,打包成庫后也是不能用的,這步是關鍵)
0.png (36.62 KB, 下載次數: 31)
下載附件
2016-2-24 17:19 上傳
測試沒有問題后將不需要的部分刪除,后如下圖所示
1.png (2.64 KB, 下載次數: 44)
下載附件
2016-2-24 17:19 上傳
第二步:打開KEIL MDK->Project->Option for target...->Output,選 中Create Executable:....選項。
2.png (17.56 KB, 下載次數: 37)
下載附件
2016-2-24 17:19 上傳
第三步:重新編譯,即可在原本生成Hex文件的目錄下找到*.lib文件。 打開原工程,只需將原來的.c文件移除,添加進該.lib文件即可使用 |