最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

dev-c++創(chuàng)建lib(靜態(tài)鏈接庫)文件的實現(xiàn)步驟

 更新時間:2022年06月10日 15:47:00   作者:nnKevi  
本文主要介紹了dev-c++創(chuàng)建lib(靜態(tài)鏈接庫)文件的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

雖說dev-c++適合初學(xué)者,但是它的功能還是很強(qiáng)大的。那如何用它制作一個lib(靜態(tài)鏈接庫)呢?

第一步:制作靜態(tài)鏈接庫

1.打開dev-c++,選擇“新建-項目”,如下圖所示。

2.選擇“Static Library”,并選擇編程語言(c和c++無所謂)以及給項目設(shè)置名稱。

3.選擇你要保存的位置。

4.在新建的文件里添加函數(shù),我這里添加了兩個:一個叫hello,用來彈出一個對話框;一個叫add,返回兩個數(shù)的和。

5.保存文件(文件名可以隨便選,我這里選擇了main.cpp)

6.點擊“編譯”按鈕。

 編譯完成后,可能會出現(xiàn)以下界面:

這時,有人會覺得很奇怪:“我的程序沒問題呀,為什么它報錯呢?????”

仔細(xì)一看,它只不過是把使用的命令給顯示了一遍,而不是報錯。

7.在生成的文件中找到一個.a文件(我這里是hello.a,因為項目名是hello,你的可能不一樣),這就是生成的靜態(tài)鏈接庫文件。

第二步:鏈接靜態(tài)鏈接庫

庫做好了,但是我們編程的時候怎么用它呢?方法就是鏈接。在自己的代碼中鏈接靜態(tài)鏈接庫,有兩種方法,各有優(yōu)劣。

方法一:使用項目

1.新建一個console application項目。(不能是源代碼,必須是console application,如果你像我一樣不喜歡console application,請使用方法二)

2.選擇保存位置。

 3.打開“項目屬性 -> 參數(shù)”。

4.點擊“加入庫或?qū)ο?rdquo;,把剛才的庫加進(jìn)去。

5.點擊“確定”,大功告成!

優(yōu)點:

1.只有這個項目的文件才會鏈接該庫,別的文件不會。

2.網(wǎng)上比較常見。

缺點:

1.只能新建console application,不能新建源代碼。(說實話,我非常不喜歡console application)

因此,這種方法適合鏈接不太常用的庫。

方法二:修改編譯選項

1.將自己的庫重命名,命名為“libxxx.a”,例如“libhello.a”。

2.新建一個源代碼(這回不用console application了,我好開心!) 

3.打開“工具 -> 編譯選項。”

4.找到“在連接器命令行加入以下命令”,在那個框里加入以下命令(如果框里已經(jīng)有命令了,就在末尾加一個空格,再輸入下面的命令):

-l你的庫名(去掉開頭的lib和結(jié)尾的.a)

 舉個例子:我的庫名是libhello.a(見第1步),那么我應(yīng)該加上命令:

-lhello

注意,以下3種寫法都是錯誤的:

-llibhello.a
-llibhello
-lhello.a

再比如,你的庫名是libtest.a,你應(yīng)該加上: 

-ltest

示例圖(以我的庫為例):

能不能在-l和庫名之間加一個空格呢?當(dāng)然可以!

5.還沒完!找到“目錄 -> 庫”。

6.把你的庫的路徑添加進(jìn)去。怎么添加?點擊右下角的“瀏覽”按鈕,找到庫的路徑,點“確定”。

7.點“添加”,再點“確定”,OK!

優(yōu)點:

1.可以新建源代碼,而不是我討厭的console application。。。  

缺點:

1.每次會自動鏈接該庫,導(dǎo)致可執(zhí)行文件體積巨大。

2.網(wǎng)上不常見,遇到了問題很難解決。

因此,這種方法適合經(jīng)常使用的庫。

第三步:使用庫函數(shù)

萬事俱備,只欠東風(fēng)!庫也造好了,鏈接也鏈接了,就差調(diào)用庫函數(shù)了!怎么調(diào)用呢?還是有兩種方法。

注意:如果你是在console application中鏈接靜態(tài)鏈接庫,則你只能在項目文件中調(diào)用庫函數(shù);如果你修改了編譯選項,則每一個程序都可以調(diào)用庫函數(shù)!

方法一

1.在需要調(diào)用庫函數(shù)的代碼里,寫出庫函數(shù)的函數(shù)原型。(必須寫函數(shù)原型,否則會報錯?。?/p>

 2.直接調(diào)用函數(shù)即可。(下圖為完整代碼)

#include <cstdio>
void hello();
int add(int a,int b);
int main(){
	printf("%d",add(1,2));
	hello();
	return 0;
}

運行效果:

優(yōu)點:操作簡單。

缺點:只有你自己知道函數(shù)原型,如果別人使用此函數(shù),就不得不向你詢問函數(shù)原型。

因此這種方法適合自己使用庫函數(shù)。

方法二:

1.把函數(shù)原型寫在一個頭文件里。

 2.引入頭文件,就可以使用庫函數(shù)了!

優(yōu)點:別人可以知道函數(shù)原型。

缺點:比較麻煩。

因此,這種方法適合共享給別人。

到此這篇關(guān)于dev-c++創(chuàng)建lib(靜態(tài)鏈接庫)文件的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)dev-c++創(chuàng)建lib內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C/C++語言printf命令使用方法

    C/C++語言printf命令使用方法

    在本篇文章里小編給大家分享了關(guān)于C/C++語言printf命令使用方法和步驟,對此有需要的朋友們學(xué)習(xí)下。
    2019-01-01
  • C++中的string庫函數(shù)常見函數(shù)的作用和使用方法

    C++中的string庫函數(shù)常見函數(shù)的作用和使用方法

    這篇文章主要介紹了C++中的string庫函數(shù)常見函數(shù)的作用和使用方法,庫函數(shù)的靈活應(yīng)用是程序員的一大重要技能,本文通過實例實例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • c語言中數(shù)組名a和&a詳細(xì)介紹

    c語言中數(shù)組名a和&a詳細(xì)介紹

    其實這兩個東西挺難理解的,應(yīng)該也沒有那么重要,了解一下好了,主要還是要多多理解數(shù)組指針的運算
    2013-08-08
  • C++ deque/queue/stack的底層原理解析

    C++ deque/queue/stack的底層原理解析

    這篇文章主要介紹了C++ deque/queue/stack的底層原理解析,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • C++利用LuaIntf調(diào)用Lua的方法示例

    C++利用LuaIntf調(diào)用Lua的方法示例

    這篇文章主要給大家介紹了關(guān)于C++利用LuaIntf調(diào)用Lua以及利用lua-intf來調(diào)用C++函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-11-11
  • C語言實現(xiàn)冒泡排序的思路以及過程

    C語言實現(xiàn)冒泡排序的思路以及過程

    冒泡排序是最簡單的排序方法,理解起來容易。雖然它的計算步驟比較多,不是最快的,但它是最基本的,初學(xué)者一定要掌握。本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值
    2021-09-09
  • C++小知識:不要去做編譯器的工作

    C++小知識:不要去做編譯器的工作

    今天小編就為大家分享一篇關(guān)于C++小知識:不要去做編譯器的工作,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Qt 中 isHidden 和 isVisible 的區(qū)別與使用小結(jié)

    Qt 中 isHidden 和 isVisible 的區(qū)別與使用小結(jié)

    Qt 中的 isHidden() 和 isVisible() 方法都用于查詢組件顯示或隱藏狀態(tài),然而,它們有很大的區(qū)別,了解它們對于正確操作組件致關(guān)重要,下面給大家介紹Qt 中 isHidden 和 isVisible 的區(qū)別與使用,感興趣的朋友一起看看吧
    2025-03-03
  • C++中實現(xiàn)多態(tài)有幾種方式小結(jié)

    C++中實現(xiàn)多態(tài)有幾種方式小結(jié)

    在C++中,多態(tài)是一種面向?qū)ο缶幊痰奶匦?允許以統(tǒng)一的方式處理不同類型的對象,并根據(jù)實際對象的類型來執(zhí)行相應(yīng)的操作,本文給大家介紹了C++中實現(xiàn)多態(tài)有幾種方式小結(jié),需要的朋友可以參考下
    2024-12-12
  • 深入理解memmove()與memcpy()的區(qū)別以及實現(xiàn)方法

    深入理解memmove()與memcpy()的區(qū)別以及實現(xiàn)方法

    本篇文章是對memmove()與memcpy()的區(qū)別以及實現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評論

邹城市| 汕尾市| 武威市| 巨野县| 田阳县| 梅河口市| 延寿县| 垫江县| 西和县| 鸡东县| 和硕县| 东乡县| 泗洪县| 临漳县| 奇台县| 衡山县| 临城县| 沭阳县| 微山县| 慈利县| 怀宁县| 梧州市| 沿河| 佳木斯市| 西平县| 定西市| 潮安县| 游戏| 庐江县| 清水河县| 广灵县| 左权县| 大名县| 丘北县| 泊头市| 尤溪县| 西宁市| 大石桥市| 永丰县| 江北区| 保山市|