KEIL MDK LIB庫檔案的製作

2021-07-26 07:28:48 字數 743 閱讀 2127

問題引出:為什麼要做成lib庫?

1、有些人不想將自己寫的源**公開,但是同時庫檔案又需要讓別人能夠正常呼叫,那封裝成lib的格式就是乙個好方法。

2、編譯某些工程檔案時非常耗時,像ucgui和st官方的庫時,由於檔案眾多,編譯一次可能得1兩分鐘,這時可以打包成庫,這時編譯工程時就不會再次編譯庫的檔案,節省不少的時間。(但同時也不能用右鍵go to definition '***'來直接找到原始檔定義了,這是一點不足的地方)

製作方法:以ucgui為例

第一步:開啟乙個測試通過的工程。(如果本來要打包的庫檔案裡面的**有錯的話,打包成庫後也是不能用的,這步是關鍵)

測試沒有問題後將不需要的部分刪除,後如下圖所示

第二步:開啟keil mdk->project->option for target...->output,選 中create executable:....選項。

第三步:重新編譯,即可在原本生成hex檔案的目錄下找到*.lib檔案。

開啟原工程,只需將原來的.c檔案移除,新增進該.lib檔案即可使用

initrd及initramfs檔案的製作

啟動執行流程initrd和 initramfs 中的檔案 在系統啟動的時候被執行 此兩者二者只可取其一或取0 取0為 無init 流程 二者都有則為initrd initrd執行流程在核心流程上要早於initramfs.也就是 1 2 只可取其一或取0 在整個核心流程上如下 initrd執行流程 1...

在資料庫中放二進位制檔案的問題!!

如果是存大檔案的話,要用image型別 2,147,483,647位元組 因為binary 和 varbinary最大才能儲存8000位元組 create procedure sp textcopy srvname varchar 30 login varchar 30 password varch...

二進位制檔案 讀檔案

1.二進位制讀檔案主要是利用流物件呼叫成員函式read 2.函式原型 ifstream read char buffer,int len 引數解釋 字元指標buffer指向記憶體中一段儲存空間,len是讀寫的位元組數 include include includeusing namespace st...