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