Keil中LIB庫的作用、生成與呼叫
Keil中LIB庫的作用、生成與呼叫
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相關推薦
Keil中LIB庫的作用、生成與呼叫
Keil中LIB庫的作用、生成與呼叫 LIB庫有什麼用,一個簡單的例子就是Silicon Labs為C8051F微控制器USB提供的USBXpress LIB庫了,如USB傳送資料、接收資料等,都是通用性很強的函式,但因為保密的原因,這個函式是怎麼寫的,使用者是不知道的,只提供
Linux動態庫.a與動態庫.so的生成與區別、以及.so庫檔案的封裝與使用
一、前言 如果有公司需要使用你們產品的一部分功能(通過程式碼呼叫這些功能),如果不想提供原始碼,那麼就可以通過封裝成庫檔案的形式提供給對方使用。本文主要介紹了生成動態庫與靜態庫檔案的過程、以及封裝和使用庫檔案的方法。 二、靜態庫.a與動態庫.so的生成與
WPF中的資源簡介、DynamicResource與StaticResource的區別
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程式的基本要素 識別符號 識別符號命名規範 關鍵字(保留字) 關鍵字(保留字)具有專門的意義和用途,不
Java、Oracle、JSP中的時間轉換、獲取與操作
Java中的時間格式轉換:說在前面:1.UTC:協調世界時,又稱世界標準時間或世界協調時間,簡稱UTC(從英文“Coordinated Universal Time”/法文“TempsUniversel Coordonné”而來),是最主要的世界時間標準2.CST:北京時間,
阿里巴巴使命、願景、價值觀、績效管理中的六大價值觀、TAE 與 TOP、聚石塔、阿里雲的差異化服務
阿里巴巴的使命 讓天下沒有難做的生意 阿里巴巴的願景 分享資料的第一平臺幸福指數最高的企業“活102年”阿里巴巴的價值觀 我們堅持“客戶第一、員工第二、股東第三”。 阿里巴巴的六脈神劍(績效管理中的六大價值觀) 公司的“六脈神劍” 客戶第一-客戶是衣食父母·
開發環境配置-eclipse中git的安裝、配置與使用-4
1、eclipse自帶git,如果需要替換可先刪除,然後通過以下兩種操作方式中的一種進項安裝: Help->Eclipse MarketPlace->輸入egit進行查詢和安裝 Help->Install New SoftWare->
VS2013中BOOST庫的環境配置與使用
&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 不含標頭檔案的動態庫 我們生成的動態庫想要被別人呼叫,那麼一定要將想要被呼叫的函式匯出,使用
json、xml、jsonp介面的生成與呼叫
json.php(生成json) <?php header('content-type:application/json;charset=utf8');
Java中的面向物件、繼承與介面(封裝)
Java面向物件程式設計有四(三)大特性:繼承、封裝、多型、(抽象)。今天就從這三個方面進行學習。最簡單的思路,首先,繼承,封裝,多型是什麼意思,然後要了解到,他們到底有什麼用。每一項設計都是有意義,有作用的,知道為什麼用,有什麼用,才能更好的理解。(這點有人總結的很好,wh
TCP與UDP的區別、ARP協議的作用、路由器與交換機的區別
1、TCP和UDP的區別 傳輸層協議主要有TCP與UDP。UDP提供無連線的通訊,不能保證資料包被髮送到目標地址,典型的即時傳輸少量資料的應用程式通常使用UDP,TCP是一種面向連線的、可靠的、
第三方登入的作用、價值與實現方式
什麼叫做第三方登入 第三方登入,是相對於應用而言,使用者登入操作不是基於自身建設賬號體系,而是基於使用者在第三方平臺上已有的賬號和密碼來快速完成登入的過程。目前國內比較廣泛使用的第三方登入方式為微博、微信、QQ,天翼賬號等,國外廣泛使用的登入方式為Facebook,Tw