關於C語言中用Keil軟體製作Lib庫檔案的幾點經驗(.lib庫檔案可以讓源函式封裝保密,仍可呼叫)
阿新 • • 發佈:2018-11-24
1.關於制止LIB庫檔案的幾點經驗
1. 一個工程如何生成lib檔案:
2. 一個生成lib檔案的工程可以呼叫這個工程中不存在的函式,只需要在.h檔案中宣告這些不存在函式的原型,然後在呼叫這個lib檔案的工程中實現這些函式即可。
3. 由上面一點可得出一個生成lib檔案的工程改成生成hex檔案或者bin檔案那麼可能編譯錯誤(找不到未宣告函式的原型),但是如果是生成lib的可以編譯成功。
2.製作LIB的一般步驟(只有一個C檔案,不存在呼叫LIB工程外的函式):
1.將此C檔案新增至一個測試工程,生成HEX檔案或者BIN檔案
2.將此檔案內所有函式的功能全部測試通過
3.新建一個工程,只新增此C檔案和一些必要的H檔案(例如使用的晶片的庫檔案),再新增一個H檔案,此H檔案裡面將呼叫此LIB的所有函式、巨集、變數做extern宣告
4.build工程即可,切記輸出選擇Create Library。
3.如果一個LIB工程裡面有多個C檔案,且需要呼叫LIB工程外部的函式時,建議步驟如下:
1.將全部C檔案新增至測試工程,生成HEX檔案或者BIN檔案
2.將所有函式的功能全部測試通過
3.新建一個工程,新增需要的C檔案,在第一個H檔案內宣告LIB工程內使用的函式,第二個H檔案內宣告原型在工程內部,供工程外部呼叫的函式,在第三個H檔案內宣告原型在工程外部,供工程內呼叫的函式
4.build工程,生成lib文
5.在呼叫LIB檔案的工程中include第二個和第三個H檔案,實現第三個H檔案內的所有函式,呼叫第二個H檔案內的函式,第一個檔案在LIB工程內使用即可,呼叫LIB檔案的工程無需include。