亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++中.dll與.lib文件的生成與使用

2020-02-24 14:33:01
字體:
來源:轉載
供稿:網友

下面武林技術小編為大家帶來一篇C++中.dll與.lib文件的生成與使用,小編覺得挺不錯的,在這里分享出來給大家,也給大家做個參考,一起跟隨小編過來看看。

--------------------------------------------------------------------------------

兩種庫:

?  包含了函數所在的DLL文件和文件中函數位置的信息(入口),代碼由運行時加載在進程空間中的DLL提供,稱為動態鏈接庫dynamic link library。
?  包含函數代碼本身,在編譯時直接將代碼加入程序當中,稱為靜態鏈接庫static link library。
共有兩種鏈接方式:

?  動態鏈接使用動態鏈接庫,允許可執行模塊(.dll文件或.exe文件)僅包含在運行時定位DLL函數的可執行代碼所需的信息。
?  靜態鏈接使用靜態鏈接庫,鏈接器從靜態鏈接庫LIB獲取所有被引用函數,并將庫同代碼一起放到可執行文件中。

--------------------------------------------------------------------------------

兩種文件的區別

--------------------------------------------------------------------------------

使用lib需注意兩個文件:

?.h頭文件,包含lib中說明輸出的類或符號原型或數據結構。應用程序調用lib時,需要將該文件包含入應用程序的源文件中。
?.LIB文件。

使用dll需注意三個文件:

?.h頭文件,包含dll中說明輸出的類或符號原型或數據結構的.h文件。應用程序調用dll時,需要將該文件包含入應用程序的源文件中。
?.LIB文件,是dll在編譯、鏈接成功之后生成的文件,作用是當其他應用程序調用dll時,需要將該文件引入應用程序,否則產生錯誤(如果不想用lib文件或者沒有lib文件,可以用WIN32 API函數LoadLibrary、GetProcAddress裝載)。
?dll文件,真正的可執行文件,開發成功后的應用程序在發布時,只需要有.exe文件和.dll文件,并不需要.lib文件和.h頭文件。

--------------------------------------------------------------------------------

生成和使用方法

--------------------------------------------------------------------------------

操作系統:WIN7

開發軟件:VS2010

--------------------------------------------------------------------------------

1.生成lib文件

  首先,我們先建立一個控制臺工程(新建->工程->控制臺程序),添加add.cpp以及add.h文件。

復制代碼 代碼如下:

//sub.h
#ifndef _SUB_H
#define _SUB_H
void sub(int a,int b);
#endif

//sub.cpp
#include "sub.h"
#include

void sub(int a,int b)
{
std::cout<<(a-b)<<:endl>};

  由于在工程中,沒有main()函數,所以直接編譯出錯。這時,要右鍵點擊工程,并選擇工程屬性,出現下圖,選擇靜態鏈接庫即可。

  這時候再按F7,build solution即可產生lib文件。在Debug中只生成.lib文件。

2.生成dll文件

  生成dll文件的過程與上面的過程是一樣的,只是在選擇Dynamic Library(.dll)即可。在Debug中會生成一個.lib和.dll兩種文件。

--------------------------------------------------------------------------------

3.兩種文件的使用

  在使用時,靜態鏈接庫只要把.h和.lib文件加入到工程文件夾中即可。而動態鏈接庫要把.h、.lib和.dll文件加入到工程中。

復制代碼 代碼如下:

#include
#include "sub.h" //鏈接庫的頭文件
using namespaces std;

#pragma comment(lib,"sub.lib") //加入鏈接庫

int main()
{
sub(5,4);
return 0;
}


4.僅有.dll文件時候的使用方法

  在沒有.h和.lib文件時,需要函數指針和WIN32 API函數LoadLibrary、GetProcAddress裝載,只需要.dll文件即可(將.dll文件置入工程目錄中)。

復制代碼 代碼如下:

#include
#include //使用函數和某些特殊變量
typedef void (*DLLFunc)(int,int); //確定調用函數的形參
int main()
{
DLLFunc dllFunc;
HINSTANCE hInstLibrary = LoadLibrary("sub.dll");//加載.dll

if (hInstLibrary == NULL)
{
FreeLibrary(hInstLibrary);
}
dllFunc = (DLLFunc)GetProcAddress(hInstLibrary, "sub");//第二個參數為要調用的函數名稱
if (dllFunc == NULL)
{
FreeLibrary(hInstLibrary);
}
dllFunc(5,4);
FreeLibrary(hInstLibrary);
return(1);
}


  最近一直在搞API這東西,用了curl、tinyxml和jsoncpp幾種開源的庫,在linux下使用倒是很方便,在windows下還是自己編譯的遇到了點問題,從新整理學習下,備用~~更多精彩內容,盡在https://js.Vevb.com。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品成人一区二区| 欧美成人中文字幕| 成人免费自拍视频| 91色中文字幕| 97视频在线播放| 亚洲激情视频网| 欧美疯狂做受xxxx高潮| 国产精品女视频| 亚洲va欧美va在线观看| 91精品国产91久久久久福利| 国产精品99久久久久久www| 亚洲女同精品视频| 精品一区二区三区四区在线| 亚洲欧美激情四射在线日| 欧美一区二区三区免费观看| 国产精品露脸av在线| 日本成人黄色片| 精品二区三区线观看| 尤物九九久久国产精品的特点| 亚洲sss综合天堂久久| 一区二区三区美女xx视频| 精品毛片网大全| 日韩免费av一区二区| 国产精品尤物福利片在线观看| 亚洲精品少妇网址| 成人乱人伦精品视频在线观看| 精品毛片三在线观看| 伊人久久大香线蕉av一区二区| 主播福利视频一区| 日韩激情视频在线| 国产精品成人观看视频国产奇米| 国产香蕉一区二区三区在线视频| 亚洲一区制服诱惑| 亚洲资源在线看| 久久久久久综合网天天| 伊是香蕉大人久久| www亚洲欧美| 亚洲国产精品大全| 欧美日韩xxxxx| 在线午夜精品自拍| 欧美性xxxxx| 91亚洲午夜在线| 高清一区二区三区日本久| 亚洲一区二区三区四区在线播放| 精品亚洲夜色av98在线观看| 国产+人+亚洲| 成人中文字幕+乱码+中文字幕| 俺去亚洲欧洲欧美日韩| 亚洲一品av免费观看| 欧美洲成人男女午夜视频| 久久精品在线播放| 欧美精品videos| 亚洲成人三级在线| 欧美激情va永久在线播放| 91系列在线观看| 7m精品福利视频导航| 欧美中文在线免费| 国产盗摄xxxx视频xxx69| 国产精品无码专区在线观看| 久久99精品久久久久久琪琪| 国产精品久久激情| 38少妇精品导航| 国产小视频国产精品| 国产一区二区三区久久精品| 色偷偷91综合久久噜噜| 久久午夜a级毛片| 久久免费精品视频| 免费av在线一区| 亚洲免费中文字幕| 国产亚洲精品久久久久久777| 精品日本美女福利在线观看| 最近2019中文字幕大全第二页| 最近免费中文字幕视频2019| 国产ts人妖一区二区三区| 国产精品欧美激情在线播放| 久久久久久久久久久av| 日本亚洲欧洲色α| 国产精品国产三级国产aⅴ浪潮| 成人免费xxxxx在线观看| 久久久久久91香蕉国产| 91精品久久久久久| 91久久久久久久| 国产精品久久久91| 国产偷国产偷亚洲清高网站| 亚洲国产高潮在线观看| 久久九九热免费视频| 欧美福利在线观看| 911国产网站尤物在线观看| 国产精品欧美激情在线播放| 黑人巨大精品欧美一区二区一视频| 久久久久国产精品免费| 91久久精品一区| 欧美一级成年大片在线观看| 亚洲va电影大全| 欧美激情在线有限公司| 国产亚洲欧美日韩精品| 亚洲国产天堂久久综合| 精品久久久在线观看| 亚洲精品资源美女情侣酒店| 在线观看日韩av| 黑人与娇小精品av专区| 国产a∨精品一区二区三区不卡| 亚洲最新视频在线| 久久精品中文字幕| 久久精品视频va| 国产一区二区三区精品久久久| 日韩精品极品在线观看播放免费视频| 国产精品一二三视频| 成人疯狂猛交xxx| 亚洲激情在线观看| 欧美第一黄色网| 久久国产精品亚洲| 性欧美xxxx| 亚洲欧洲在线视频| 亚洲大尺度美女在线| 精品美女国产在线| 日本成人在线视频网址| 九九热在线精品视频| 国产精品福利在线| 亚洲欧洲在线观看| 亚洲欧美日韩爽爽影院| 精品香蕉一区二区三区| 亚洲欧美国产视频| 色综合色综合久久综合频道88| 91干在线观看| 久久精品久久久久久| 国内精品一区二区三区| 国产成人福利视频| 91老司机在线| 久久成人在线视频| 欧美孕妇毛茸茸xxxx| 久久亚洲精品小早川怜子66| 国产精品狠色婷| 亚洲最大成人网色| 欧美日韩在线视频观看| 91精品国产91久久久久久| 国产小视频国产精品| 91av在线看| 亚洲精品av在线播放| 日韩精品免费电影| 在线观看免费高清视频97| 国产一区视频在线| 一区二区三区视频观看| 日本中文字幕不卡免费| 4438全国亚洲精品在线观看视频| 91精品久久久久久久久久久久久| 欧美性69xxxx肥| 国产精品一久久香蕉国产线看观看| 97视频com| 欧美成人精品三级在线观看| 中文字幕久热精品在线视频| 色吧影院999| 国产成人精品优优av| 亚洲最大成人网色| 欧美激情视频在线免费观看 欧美视频免费一| 中文字幕日韩精品有码视频| 精品国产成人在线| 国产香蕉一区二区三区在线视频| 日韩av电影中文字幕| 国产精品日韩电影| 国产精品国产福利国产秒拍| 精品国产一区二区三区久久狼黑人| 日韩欧美一区二区三区久久| 日韩中文字幕免费视频|