前言:
我們寫代碼,可以分模塊去寫,最后可以協(xié)作,能整合起來;
可以吧代碼的實現(xiàn)和聲明分離。
比如:我的這篇博客C語言猜拳小游戲就用到了模塊化編程
什么是庫:
庫是寫好的現(xiàn)有的,成熟的,可以復(fù)用的代碼?,F(xiàn)實中每個程序都要依賴很多基礎(chǔ)的底層庫本質(zhì)上來說庫是一種可執(zhí)行代碼的二進制形式,可以被操作系統(tǒng)載入內(nèi)存執(zhí)行。庫有兩種:靜態(tài)庫(.a、.lib)和動態(tài)庫(.so、.dll)。
一、靜態(tài)庫
靜態(tài)庫編譯成的文件會比較大,這類函數(shù)庫最大的優(yōu)點就是編譯成功的可執(zhí)行文件可以獨立運行,而不再需要向外部要求讀取函數(shù)庫的內(nèi)容;但是從升級難易度來看明顯沒有優(yōu)勢,如果函數(shù)庫更新,需要重新編譯。
二、動態(tài)庫
動態(tài)庫在編譯的時候,在程序里只有一個“指向”的位置而已,也就是說當(dāng)可執(zhí)行文件需要使用到函數(shù)庫的機制時,程序才會去讀取函數(shù)庫來使用;也就是說可執(zhí)行文件無法單獨運行。這樣從產(chǎn)品功能升級角度方便升級,只要替換對應(yīng)動態(tài)庫即可,不必重新編譯整個可執(zhí)行文件。
三、靜態(tài)庫和動態(tài)庫的使用
比如我們寫了一個函數(shù),想賣出去賺錢,不想讓別人看到我寫的函數(shù)怎么實現(xiàn),只給一出函數(shù)聲明(在頭文件里),我們該怎么做呢?
3.1創(chuàng)建工程,創(chuàng)建文件
3.2解決方案資源管理器->project_7_12game->(右擊)彈出快捷菜單->單擊屬性->彈出屬性頁窗口->找到配置屬性點擊常規(guī)->找到配置類型,在配置類型的右邊找到一個向下的箭頭->單擊箭頭,在下拉列表里點擊靜態(tài)庫。
3.3生成一個.lib文件文章來源:http://www.zghlxwxcb.cn/news/detail-553549.html
可以在資源管理器里通過路徑找到它:
把這三個文件經(jīng)過編譯生成的.lib文件叫靜態(tài)庫
我們打開這個文件,它會顯示是亂碼,因為是一個二進制文件
3.4我們賣文件就是把這個.lib文件還有.h文件賣出去,別人就沒法看到函數(shù)是怎么實現(xiàn)得了。
3.5使用.lib文件和.h文件
編寫一個程序,用到.lib文件和.h文件。
找到文件夾
把.lib文件和.h文件添加進去
在工程里把頭文件打開
打開了;
這時候我們要用game.h文件的函數(shù),導(dǎo)入靜態(tài)庫(.lib文件)
#pragma comment(lib,“Project_7_12game.lib”)//導(dǎo)入靜態(tài)庫
按ctrl+F5就可以調(diào)用.h里的函數(shù)文章來源地址http://www.zghlxwxcb.cn/news/detail-553549.html
到了這里,關(guān)于[靜態(tài)庫和動態(tài)庫][VS2022]的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!