国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[靜態(tài)庫和動態(tài)庫][VS2022]

這篇具有很好參考價值的文章主要介紹了[靜態(tài)庫和動態(tài)庫][VS2022]。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言:

我們寫代碼,可以分模塊去寫,最后可以協(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)建文件
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器
3.2解決方案資源管理器->project_7_12game->(右擊)彈出快捷菜單->單擊屬性->彈出屬性頁窗口->找到配置屬性點擊常規(guī)->找到配置類型,在配置類型的右邊找到一個向下的箭頭->單擊箭頭,在下拉列表里點擊靜態(tài)庫。
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器
3.3生成一個.lib文件
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器

可以在資源管理器里通過路徑找到它:
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器
把這三個文件經(jīng)過編譯生成的.lib文件叫靜態(tài)庫
我們打開這個文件,它會顯示是亂碼,因為是一個二進制文件
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器
3.4我們賣文件就是把這個.lib文件還有.h文件賣出去,別人就沒法看到函數(shù)是怎么實現(xiàn)得了。
3.5使用.lib文件和.h文件
編寫一個程序,用到.lib文件和.h文件。
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器
找到文件夾
把.lib文件和.h文件添加進去
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器
在工程里把頭文件打開
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器
打開了;
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器
這時候我們要用game.h文件的函數(shù),導(dǎo)入靜態(tài)庫(.lib文件)
#pragma comment(lib,“Project_7_12game.lib”)//導(dǎo)入靜態(tài)庫
[靜態(tài)庫和動態(tài)庫][VS2022],小技巧,開發(fā)語言,編輯器
按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)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 制作靜態(tài)庫和動態(tài)庫

    制作靜態(tài)庫和動態(tài)庫

    目錄 制作靜態(tài)庫 ar命令 使用makefile制作靜態(tài)庫 如何發(fā)布自己的靜態(tài)庫給別人呢? 如何使用靜態(tài)庫呢? 方法一 方法二 制作動態(tài)庫 使用動態(tài)庫遇到的問題 上面的問題如何解決呢?(如何使用動態(tài)庫) 1.方法一 2.方法二 3.方法三 4.方法四 搜索優(yōu)先級 Linux默認頭文件的搜索順序

    2024年02月03日
    瀏覽(22)
  • 【Linux】動態(tài)庫和靜態(tài)庫

    【Linux】動態(tài)庫和靜態(tài)庫

    軟鏈接 命令: ln -s 源文件名 目標文件名 軟鏈接是獨立連接文件的,他有自己的inode number,有自己的inode屬性和內(nèi)容。 軟鏈接內(nèi)部存放的是自己所指向文件的路徑。 現(xiàn)實中,我們軟鏈接的應(yīng)用有,例如電腦桌面的快捷模式等。 inode number 不相同 硬鏈接 命令: ln 源文件目標文件

    2024年02月11日
    瀏覽(27)
  • Linux之靜態(tài)庫和動態(tài)庫

    Linux之靜態(tài)庫和動態(tài)庫

    目錄 一、前言 二、對于庫的理解 三、靜態(tài)庫 四、動態(tài)庫 五、動靜態(tài)庫的加載 在之前,我們講了靜態(tài)庫和動態(tài)庫,詳情請?zhí)D(zhuǎn):靜態(tài)庫和動態(tài)庫 下面我們將從工程師的角度,去了解靜態(tài)庫和動態(tài)庫的形成過程,以及實現(xiàn)它們的制作。并且了解如何將自己的庫交給別人,讓別

    2024年01月20日
    瀏覽(20)
  • 動態(tài)庫和靜態(tài)庫的使用

    動態(tài)庫和靜態(tài)庫的使用

    庫是一種可執(zhí)行代碼的二進制形式,可以被操作系統(tǒng)載入內(nèi)存執(zhí)行。就是將源代碼轉(zhuǎn)化為二進制格式的源代碼,相當(dāng)于進行了加密,別人可以使用庫,但是看不到庫中的內(nèi)容。 常見的庫類型 共享庫 靜態(tài)庫 動態(tài)庫 win32平臺下,靜態(tài)庫通常后綴為.lib,動態(tài)庫為.dll 。 linux平臺下

    2024年02月03日
    瀏覽(14)
  • 關(guān)于靜態(tài)庫和動態(tài)庫的操作

    目錄 靜態(tài)庫 動態(tài)庫 1.增加.o文件: 2.刪除.o文件: 查看靜態(tài)庫和動態(tài)庫中的函數(shù)名 1.查看靜態(tài)庫中的函數(shù)名(以libexample.a為例): 2. 查看動態(tài)庫中的函數(shù)名(以libexample.so為例): 查看動態(tài)庫和靜態(tài)庫是32位,還是64位 1.? 如果是動態(tài)庫,可以使用: file *.so ? 2. 如果是靜態(tài)庫,可

    2024年02月07日
    瀏覽(17)
  • Linux下動態(tài)庫和靜態(tài)庫編譯實踐

    之前寫過JNI的文章,在JNI實踐過程中,也涉及到對動態(tài)庫/靜態(tài)庫的一些編譯實踐,這里統(tǒng)一記錄一下。 注意 :-fPIC編譯選項可使GCC生成位置無關(guān)代碼,簡單來說生成的代碼中的函數(shù)與全局變量均為相對地址,通過GOT (Global offset table)來確定其位置,這種方式引入了一層額外的

    2024年01月17日
    瀏覽(20)
  • 靜態(tài)鏈接庫和動態(tài)鏈接庫的區(qū)別

    在編譯時將庫的代碼( .lib文件 )和應(yīng)用程序的代碼合并在一起,生成一個單獨的可執(zhí)行文件。 發(fā)布時非常方便,直接一個.exe文件即可 庫的代碼在編譯時和鏈接時與應(yīng)用程序分開。應(yīng)用程序包含對庫的引用( .lib文件 ,在這里被稱為導(dǎo)入庫),但不包含庫的實際代碼。 在 運行

    2024年02月11日
    瀏覽(17)
  • 如何在linux下制作靜態(tài)庫和動態(tài)庫

    如何在linux下制作靜態(tài)庫和動態(tài)庫

    靜態(tài)庫顧名思義是靜態(tài)的,即程序編譯鏈接時,會把靜態(tài)庫的代碼鏈接到可執(zhí)行文件中。運行時不需要靜態(tài)庫(將靜態(tài)庫刪了也能運行)。 相當(dāng)于靜態(tài)庫的代碼復(fù)制到了可執(zhí)行文件中。 分別有如下add.c add.h sub.c sub.h四個文件格式。 首先把.c文件都編譯成.o文件。使用下面命令

    2024年01月24日
    瀏覽(24)
  • Linux中靜態(tài)庫和動態(tài)庫的使用

    Linux中靜態(tài)庫和動態(tài)庫的使用

    介紹: 庫是一個二進制文件,包含的代碼可被程序調(diào)用 標準C庫、數(shù)學(xué)庫、線程庫… 庫有源碼,可下載后編譯;也可以直接安裝二進制包 位置一般放在:/lib /usr/lib 庫的知識 庫是事先編譯好的,可以復(fù)用的代碼 在os上運行的程序基本上都要使用庫,使用庫可以提高開發(fā)效率

    2024年01月25日
    瀏覽(28)
  • linux下g++鏈接動態(tài)庫和靜態(tài)庫

    頭文件的作用: include的作用就是復(fù)制內(nèi)容到當(dāng)前文件 井號開頭的就是預(yù)處理指令,由預(yù)處理器處理,預(yù)處理階段不關(guān)心代碼,只處理預(yù)處理指令。 頭文件主要 一是為了解決代碼都寫在一個文件太大了,二是把變量,結(jié)構(gòu)體,函數(shù)聲明這些固定的放在一起 函數(shù)只要聲明了,

    2024年02月09日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包