手把手教你C语言静态库的开发
前言
啥是靜態(tài)庫?
靜態(tài)庫是指在我們的應(yīng)用中,有一些公共代碼是需要反復(fù)使用,就把這些代碼編譯為“庫”文件;
在鏈接步驟中,連接器將從庫文件取得所需的代碼,復(fù)制到生成的可執(zhí)行文件中的這種庫。
靜態(tài)庫文件的格式后綴是 .lib。–百度百科
簡化來說就是: 實現(xiàn)代碼塊的反復(fù)利用,靜態(tài)庫類似于一個接口。
舉一個簡單的例子: 假如說,你寫了一個函數(shù)里面實現(xiàn)了一個很厲害的功能。你的一個好友想用你這個函數(shù)。
但是你不想讓他知道內(nèi)部函數(shù)是如何實現(xiàn)的,只是想讓調(diào)用這個函數(shù)。那么靜態(tài)庫就可以滿足你這樣的需求。
你只需把聲明函數(shù)的頭文件給他,和靜態(tài)庫文件給他就行了。他就可以直接調(diào)用你寫的函數(shù)。而并不知道里
面內(nèi)部的代碼。
靜態(tài)庫的缺點:
靜態(tài)庫雖優(yōu)點很好,但是也是有缺點的。你調(diào)用靜態(tài)庫編譯后,生成exe后。靜態(tài)庫
的東西都會直接嵌入到里面。這樣你的exe程序會很大。
編寫一個簡單的靜態(tài)庫
下面跟著我的步伐,來創(chuàng)建一個簡單的靜態(tài)庫吧!
第一步:創(chuàng)建一個靜態(tài)庫項目
在項目里面創(chuàng)建一個demo.cpp和一個demo.h。
這里的過程不在贅述,不會的話可以看我之前寫的一篇關(guān)于編寫頭文件的文章。編寫一個c程序的頭文件
demo.cpp的內(nèi)容如下:
demo.h的內(nèi)容如下:
生成一下:
可以看到已經(jīng)生成了一個demolib,lib的靜態(tài)庫文件。到這里靜態(tài)庫的編寫已經(jīng)完成了。
使用靜態(tài)庫
接下來就是使用要我們的靜態(tài)庫了。
我又創(chuàng)建了一個新的文件夾,并在該文件夾下創(chuàng)建了一個新的項目。
隨便寫個東西來編譯一下,讓其產(chǎn)生我們的cpp文件。
將我們剛才寫的靜態(tài)庫的頭文件和.lib文件復(fù)制到該目錄下。
如下圖所示:
這里把這兩個文件復(fù)制到該目錄下的目的是: 該項目的工作空間默認(rèn)是這里,直接弄到這里就不用來配置demo.h和demolib.lib的路徑了。
方便使用。
接下來把demo.h導(dǎo)入到該項目中。就可以直接調(diào)用我們靜態(tài)庫的函數(shù)了。
如果靜態(tài)庫的路徑你沒有在默認(rèn)的工作空間下,就要手動配置,配置過程如下:
當(dāng)然.h文件的路徑你也可以手動的配置
總結(jié)
以上是生活随笔為你收集整理的手把手教你C语言静态库的开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: malloc()之后free报错的原因[
- 下一篇: 手把手教你写C语言的动态库的开发