教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

c/c++培訓(xùn)動(dòng)態(tài)庫的封裝和使用(一)

更新時(shí)間:2016年10月21日16時(shí)21分 來源:傳智播客C++培訓(xùn)學(xué)院 瀏覽次數(shù):

1.1 庫的基本概念

庫是已經(jīng)寫好的、成熟的、可復(fù)用的代碼。每個(gè)程序都需要依賴很多底層庫,不可能每個(gè)人的代碼從零開始編寫代碼,因此庫的存在具有非常重要的意義。
 
在我們的開發(fā)的應(yīng)用中經(jīng)常有一些公共代碼是需要反復(fù)使用的,就把這些代碼編譯為庫文件。
庫可以簡(jiǎn)單看成一組目標(biāo)文件的集合,將這些目標(biāo)文件經(jīng)過壓縮打包之后形成的一個(gè)文件。像在Windows這樣的平臺(tái)上,最常用的c語言庫是由集成按開發(fā)環(huán)境所附帶的運(yùn)行庫,這些庫一般由編譯廠商提供。

1.2 vs下靜態(tài)庫創(chuàng)建和使用

1.2.1 靜態(tài)庫的創(chuàng)建

1. 創(chuàng)建一個(gè)新項(xiàng)目,在已安裝的模板中選擇“常規(guī)”,在右邊的類型下選擇“空項(xiàng)目”,在名稱和解決方案名稱中輸入staticlib。點(diǎn)擊確定。
2.在解決方案資源管理器的頭文件中添加,mylib.h文件,在源文件添加mylib.c文件(即實(shí)現(xiàn)文件)。
3.在mylib.h文件中添加如下代碼:
#ifndef TEST_H
#define TEST_H
 
int myadd(int a,int b);
#endif
  1. 在mylib.c文件中添加如下代碼:
#include"test.h"
int myadd(int a, int b){
return a + b;
}
5. 配置項(xiàng)目屬性。因?yàn)檫@是一個(gè)靜態(tài)鏈接庫,所以應(yīng)在項(xiàng)目屬性的“配置屬性”下選擇“常規(guī)”,在其下的配置類型中選擇“靜態(tài)庫(.lib)。
6.編譯生成新的解決方案,在Debug文件夾下會(huì)得到mylib.lib (對(duì)象文件庫),將該.lib文件和相應(yīng)頭文件給用戶,用戶就可以使用該庫里的函數(shù)了。

1.2.2 靜態(tài)庫的使用

方法一:配置項(xiàng)目屬性
A、添加工程的頭文件目錄:工程---屬性---配置屬性---c/c++---常規(guī)---附加包含目錄:加上頭文件存放目錄。
B、添加文件引用的lib靜態(tài)庫路徑:工程---屬性---配置屬性---鏈接器---常規(guī)---附加庫目錄:加上lib文件存放目錄。
C  然后添加工程引用的lib文件名:工程---屬性---配置屬性---鏈接器---輸入---附加依賴項(xiàng):加上lib文件名。
方法二:使用編譯語句
#pragma comment(lib,"./mylib.lib")
方法三:添加工程中
就像你添加.h和.cpp文件一樣,把lib文件添加到工程文件列表中去.
切換到"解決方案視圖",--->選中要添加lib的工程-->點(diǎn)擊右鍵-->"添加"-->"現(xiàn)有項(xiàng)"-->選擇lib文件-->確定.
 
本文版權(quán)歸傳智播客C++培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客C/C++培訓(xùn)學(xué)院
首發(fā):http://www.xamj520.com/c/ 
0 分享到:
和我們?cè)诰€交談!