VS平臺(tái)下關(guān)于靜態(tài)庫的創(chuàng)建與使用

VS平臺(tái)下關(guān)于靜態(tài)庫的創(chuàng)建與使用

靜態(tài)庫簡介

靜態(tài)庫是在鏈接階段會(huì)將匯編成成的目標(biāo)文件.o與引用到的庫一起鏈接打包到可執(zhí)行文件中绸硕,因此對應(yīng)的鏈接方式稱為靜態(tài)鏈接婿屹,靜態(tài)庫可以簡單看成是一組目標(biāo)文件的集合,即很多目標(biāo)文件經(jīng)過壓縮打包后形成的一個(gè)文件。

  • 靜態(tài)庫對函數(shù)庫的鏈接是放在編譯時(shí)期完成的保屯。
  • 程序在運(yùn)行時(shí)與函數(shù)庫再無瓜葛袒餐,移植方便。
  • 浪費(fèi)空間和資源漾肮,因?yàn)樗邢嚓P(guān)的目標(biāo)文件與牽涉到的函數(shù)庫被鏈接成一個(gè)可執(zhí)行文件厂抖。

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

  • 靜態(tài)庫的創(chuàng)建會(huì)生成一個(gè).lib文件,供其他工程調(diào)用

  • 首先在工程中克懊,點(diǎn)擊文件 - 新建 - 項(xiàng)目忱辅。

    staticLib01

  • 為庫起名稱,并指定好工程位置谭溉,確定后點(diǎn)擊下一步耕蝉。

    staticLib02

    staticLib03

  • 將應(yīng)用程序類型設(shè)定為靜態(tài)庫,點(diǎn)擊確定夜只。

    staticLib04

  • 為此工程添加.h文件和.cpp文件垒在。

    staticLib05

    staticLib06

    staticLib07

    staticLib08

  • 為庫文件編寫頭文件的內(nèi)容。

    staticLib09

  • 為庫文件編寫cpp文件的內(nèi)容。

    staticLib10

  • 隨后點(diǎn)擊生成 - 生成解決方案/重新生成解決方案场躯,即可生成Add.lib的庫文件谈为。

    staticLib11

    staticLib12

  • 調(diào)用該庫文件的作用為,輸入兩個(gè)int類型的整數(shù)踢关,返回兩數(shù)的和伞鲫。
    調(diào)用方法:int Add(int, int)


靜態(tài)庫的調(diào)用方法

  • 在需要調(diào)用該庫文件的工程中,右擊工程签舞,選擇屬性秕脓,進(jìn)行相關(guān)配置。

    staticLib13

    staticLib14

  • 在配置屬性 - VC++目錄中儒搭,包含目錄為庫文件的Add.h頭文件所在的目錄吠架,而庫目錄為Add.lib庫文件所在的目錄,點(diǎn)擊確定搂鲫。

    staticLib15

  • 在配置屬性 - 鏈接器 - 輸入中傍药,在附加依賴項(xiàng)中添加要調(diào)用的庫,輸入Add.lib魂仍,點(diǎn)擊確定即可拐辽。

    staticLib16

  • 配置完成后,在需要調(diào)用庫的工程中便可以引用頭文件擦酌,并調(diào)用庫的功能俱诸。

    staticLib17

  • 編譯運(yùn)行后,成功調(diào)用庫赊舶。

    staticLib18


Add庫的頭文件代碼

#ifndef _ADD_H_
#define _ADD_H_

int Add(const int, const int);

#endif

Add庫的cpp代碼

#include "Add.h"

int Add(int a, int b)
{
    return (a + b);
}

小結(jié)

由于靜態(tài)庫是在編譯過程中靜態(tài)地被鏈接到最終的可執(zhí)行文件當(dāng)中乙埃,占據(jù)了部分內(nèi)存空間,在程序執(zhí)行時(shí)也同庫函數(shù)再無關(guān)系锯岖,由此可見靜態(tài)庫在程序的使用中并不靈活介袜,不利于項(xiàng)目后續(xù)的開發(fā)工作,而動(dòng)態(tài)庫的概念則解決了靜態(tài)庫的相關(guān)問題出吹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末遇伞,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子捶牢,更是在濱河造成了極大的恐慌鸠珠,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秋麸,死亡現(xiàn)場離奇詭異渐排,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)灸蟆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門驯耻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事可缚■龋” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵帘靡,是天一觀的道長知给。 經(jīng)常有香客問我,道長描姚,這世上最難降的妖魔是什么涩赢? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮轩勘,結(jié)果婚禮上筒扒,老公的妹妹穿的比我還像新娘。我一直安慰自己赃阀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布擎颖。 她就那樣靜靜地躺著榛斯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搂捧。 梳的紋絲不亂的頭發(fā)上驮俗,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機(jī)與錄音允跑,去河邊找鬼王凑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛聋丝,可吹牛的內(nèi)容都是我干的索烹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼弱睦,長吁一口氣:“原來是場噩夢啊……” “哼百姓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起况木,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤垒拢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后火惊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體求类,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年屹耐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尸疆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖仓技,靈堂內(nèi)的尸體忽然破棺而出鸵贬,到底是詐尸還是另有隱情,我是刑警寧澤脖捻,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布阔逼,位于F島的核電站,受9級特大地震影響地沮,放射性物質(zhì)發(fā)生泄漏嗜浮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一摩疑、第九天 我趴在偏房一處隱蔽的房頂上張望危融。 院中可真熱鬧,春花似錦雷袋、人聲如沸吉殃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛋勺。三九已至,卻和暖如春鸠删,著一層夾襖步出監(jiān)牢的瞬間抱完,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工刃泡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留巧娱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓烘贴,卻偏偏與公主長得像禁添,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子桨踪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容