1. 程式人生 > >Keil中LIB庫的作用、生成與呼叫

Keil中LIB庫的作用、生成與呼叫

               KeilLIB庫的作用、生成與呼叫


LIB庫有什麼用,一個簡單的例子就是Silicon Labs為C8051F微控制器USB提供的USBXpress LIB庫了,如USB傳送資料、接收資料等,都是通用性很強的函式,但因為保密的原因,這個函式是怎麼寫的,使用者是不知道的,只提供介面的API函式,只要呼叫這些函式即可完成相應功能。


下面以自己開發的NOKIA5110液晶的驅動程式演示一下LIB庫德生成與呼叫。


target裡面”Options for Target ’Target 1’”裡面的output選擇create library






    (這裡可以沒有main主函式和一些管腳的定義等,只是NOKIA5110驅動函式)。


點選Rebuild all the target files,就生成.lib檔案。



        把上面的工程生成的.LIB檔案放入新的資料夾裡,在這個資料夾編寫一個呼叫LIB庫的程式。把.LIB檔案新增到工程裡面去,在工程裡的H標頭檔案裡對NOKIA5110.LIB裡的函式進行宣告,這樣主函式就能呼叫.LIB裡的NOKIA5110的驅動函數了。






LIB庫檔案生成呼叫演示程式:http://space.ednchina.com/Upload/2010/4/19/a8cfdeaf-c1e1-4b2f-8d66-fb3fbc02504c.rar



BTW:在Keil C中呼叫USBXpress的函式也是上面的辦法,但如果編譯器用的Silicon Laboratories IDE的時候要注意新增.LIB庫德步驟就不一樣了。


Silicon labs的這個IDE其實也就是一個殼,編譯程式之前要設定好呼叫keil編譯核心的路徑。


Project——Tool Chain Integration














Silicon Laboratories IDE LIB庫檔案的呼叫


1. Project -> Target Build Configuration -> Customize -> Files to Link -> Add External OBJ
2.在 'List files of type' drop-down box from 'Object Files' 選擇'All files'型別,. 選擇要新增的LIB檔案。
3. 點選 OK.




點選看大圖 



本文參考:


1)  How to use USB_Clock_Start() in firmware





3) 把原始碼給人家?原始碼隱藏高招--把關鍵的程式用Lib包含進來!

http://www.dzsc.com/dzbbs/20050405/2007651925293610.html

相關推薦

KeilLIB作用生成呼叫

               Keil中LIB庫的作用、生成與呼叫 LIB庫有什麼用,一個簡單的例子就是Silicon Labs為C8051F微控制器USB提供的USBXpress LIB庫了,如USB傳送資料、接收資料等,都是通用性很強的函式,但因為保密的原因,這個函式是怎麼寫的,使用者是不知道的,只提供

Linux動態.a動態.so的生成區別以及.so檔案的封裝使用

一、前言 如果有公司需要使用你們產品的一部分功能(通過程式碼呼叫這些功能),如果不想提供原始碼,那麼就可以通過封裝成庫檔案的形式提供給對方使用。本文主要介紹了生成動態庫與靜態庫檔案的過程、以及封裝和使用庫檔案的方法。 二、靜態庫.a與動態庫.so的生成與

WPF的資源簡介DynamicResourceStaticResource的區別

col 不同 程序代碼 函數 dynamic click MF bre gin 原文:WPF中的資源簡介、DynamicResource與StaticResource的區別什麽叫WPF的資源(Resource)?資源是保存在可執行文件中的一種不可執行數據。在WPF的資源中,

Java的組織形式物件靜態的static關鍵字最終的final關鍵字方法傳參方式遞迴(階乘斐波那契數列漢諾塔)

Java程式的組織形式 Java程式需要把程式碼以類的形式組織起來,然後被Java編譯器編譯,再被JVM執行。Java程式是以類的結構為基礎的。 Java程式的基本要素 識別符號 識別符號命名規範 關鍵字(保留字) 關鍵字(保留字)具有專門的意義和用途

雜談——HTTP的兩種請求:GET和POST的作用區別本質

當面試的時候,考官問你:GET和POST的作用是什麼,它們又有什麼區別呢 這時候你該如何回答呢? 且讓我們來理一理思緒~ 開始入手web專案的夥伴們基本上都開始使用GET和POST請求了,那這兩種請求到底是什麼東西呢,它又有什麼作用? 今天我們來細細瞭解一下。GET和POST作

C++的函式過載覆蓋隱藏

在C++語言中,函式扮演著很重要的角色,不管面向過程設計,還是基於物件設計;不管是面向物件程式設計,還是基於泛型程式設計,函式都可以隨處而見。在談論C++中的函式過載、覆蓋和隱藏之前,先回顧下函式的基礎知識。   函式的宣告包括函式的返回值型別,函式名稱,引數列表(引數的型別、引數的個數、引數的

Javascript的Array(陣列) {}(對映) JSON解析

下面是總結: 1.將javascript中的Array和{}轉化為json字串可以使用json2.js,原始碼地址https://github.com/douglascrockford/JSON-js。 2.將json字串轉為javascript物件,可以使用javascript自帶的eva

Java的組織形式物件

Java程式的組織形式 Java程式需要把程式碼以類的形式組織起來,然後被Java編譯器編譯,再被JVM執行。Java程式是以類的結構為基礎的。 Java程式的基本要素 識別符號 識別符號命名規範 關鍵字(保留字) 關鍵字(保留字)具有專門的意義和用途,不

JavaOracleJSP的時間轉換獲取操作

Java中的時間格式轉換:說在前面:1.UTC:協調世界時,又稱世界標準時間或世界協調時間,簡稱UTC(從英文“Coordinated Universal Time”/法文“TempsUniversel Coordonné”而來),是最主要的世界時間標準2.CST:北京時間,

阿里巴巴使命願景價值觀績效管理的六大價值觀TAE TOP聚石塔阿里雲的差異化服務

阿里巴巴的使命 讓天下沒有難做的生意 阿里巴巴的願景 分享資料的第一平臺幸福指數最高的企業“活102年”阿里巴巴的價值觀 我們堅持“客戶第一、員工第二、股東第三”。 阿里巴巴的六脈神劍(績效管理中的六大價值觀) 公司的“六脈神劍” 客戶第一-客戶是衣食父母·

開發環境配置-eclipsegit的安裝配置使用-4

1、eclipse自帶git,如果需要替換可先刪除,然後通過以下兩種操作方式中的一種進項安裝: Help->Eclipse MarketPlace->輸入egit進行查詢和安裝 Help->Install New SoftWare->

VS2013BOOST的環境配置使用

&1 安裝Boost 檔案下載:連結:http://pan.baidu.com/s/1kUKaOFP 密碼:auf2 解壓之後放到你想安裝的資料夾內,我的是在C:\Program Files\boost\boost_1_60_0中。 &2 執行bootstr

Ubuntu sendmail 的安裝配置傳送郵件的具體實現

一、安裝 ubuntu中sendmail函式可以很方便的傳送郵件,ubuntu sendmail先要安裝兩個包。 必需安裝的兩個包: 程式碼  sudo apt-get install sendmail  sudo apt-get install sendmail-

Android開發——Android的二維碼生成掃描

0. 前言今天這篇文章主要描述二維碼的生成與掃描,使用目前流行的Zxing,為什麼要講二維碼,因為二維碼太普遍了,隨便一個Android APP都會有二維碼掃描。本篇旨在幫助有需求的同學快速完成二維碼生成和掃描的功能。本篇轉載自:http://blog.csdn.net/ha

maven使用dom4j解析生成XML的簡易方法

此片文章主要寫一些關於如何在maven工程中使用dom4j來解析或生成XML的建議方法,實際可使用的寫法不僅限於如下所寫的樣例程式碼。此處進攻快速入手和提供思路使用。 首先配置pom.xml中的依賴的包 <dependencies> &

c++動態生成呼叫

一、生成動態庫(含標頭檔案、不含標頭檔案) 以生成dllTest.dll為例(工程名為dllTest、 標頭檔案名為dllTest.h、 原始檔名為dllTest.cpp) 1.1 不含標頭檔案的動態庫 我們生成的動態庫想要被別人呼叫,那麼一定要將想要被呼叫的函式匯出,使用

jsonxmljsonp介面的生成呼叫

json.php(生成json) <?php header('content-type:application/json;charset=utf8');

Java的面向物件繼承介面(封裝)

Java面向物件程式設計有四(三)大特性:繼承、封裝、多型、(抽象)。今天就從這三個方面進行學習。最簡單的思路,首先,繼承,封裝,多型是什麼意思,然後要了解到,他們到底有什麼用。每一項設計都是有意義,有作用的,知道為什麼用,有什麼用,才能更好的理解。(這點有人總結的很好,wh

TCPUDP的區別ARP協議的作用路由器交換機的區別

1、TCP和UDP的區別   傳輸層協議主要有TCP與UDP。UDP提供無連線的通訊,不能保證資料包被髮送到目標地址,典型的即時傳輸少量資料的應用程式通常使用UDP,TCP是一種面向連線的、可靠的、

第三方登入的作用價值實現方式

什麼叫做第三方登入 第三方登入,是相對於應用而言,使用者登入操作不是基於自身建設賬號體系,而是基於使用者在第三方平臺上已有的賬號和密碼來快速完成登入的過程。目前國內比較廣泛使用的第三方登入方式為微博、微信、QQ,天翼賬號等,國外廣泛使用的登入方式為Facebook,Tw