動態(tài)庫靜態(tài)庫生成及顯式隱式調(diào)用

動態(tài)庫

首先新建一個dll動態(tài)庫


1.png

然后建立一個.h頭文件乌助,加入函數(shù)


 #ifdef 函數(shù)名_EXPORTS  
 #define 函數(shù)名_API __declspec(dllexport)  
 #else  
 #define 函數(shù)名_API __declspec(dllimport)  
 #endif    

隱式調(diào)用

·項目->屬性->配置屬性->VC++ 目錄-> 在“包含目錄”里添加頭文件project2.h所在的目錄


配置頭文件.png

·項目->屬性->配置屬性->VC++ 目錄-> 在“庫目錄”里添加頭文件project2.lib所在的目錄

庫目錄.png

·項目->屬性->配置屬性->鏈接器->輸入-> 在“附加依賴項”里添加“project2.lib”(若有多個 lib 則以逗號隔開)

lib文件.png

·隱式調(diào)用源文件必須加上'#define TESTDLL_EXPORTS//不進行宏定義广恢,或提示鏈接不一致,導致隱式調(diào)用失敗'

顯式調(diào)用

直接上函數(shù)


dllfun lucky;      //先是定一個函數(shù)指針 dllfun;然后通過GetProcAdress來獲取函數(shù)的地址  
HINSTANCE hDLL;               //定一個句柄實例,用來取DLL的實例地址  
hDLL = LoadLibrary("C:\\Users\\Pomelo\\Desktop\\caculater\\caculator\\Debug\\multiply.dll");//加載動態(tài)鏈接庫MyDll.dll文件原杂;     
if (hDLL == NULL)                             //取的地址要判斷挨决,返回的句柄是否為空请祖,  
{                       //如果為無效句柄,那么要釋放加載DLL所占用的內(nèi)存  
    printf("無法載入dll\n");  
    FreeLibrary(hDLL);  
    return 0;  
}  
lucky = (dllfun)GetProcAddress(hDLL, "?Multiply@@YAMMM@Z"); //參數(shù)是DLL的句柄和你要調(diào)用的函數(shù)名  
if (lucky == NULL)  //這里也要判斷要函數(shù)指針是否為空脖祈,如果沒取到要求的函數(shù)肆捕,那么要釋放句柄  
{  
    printf("無法獲取函數(shù)地址\n");  
    FreeLibrary(hDLL);  
    return 0;  
}  
c1 = lucky(a, b);                              //調(diào)用compute函數(shù),指向函數(shù)運算結(jié)果  
cout << a << "*" << b << "的值為:" << c1 << endl;         //輸出最后計算結(jié)果  
FreeLibrary(hDLL);  

靜態(tài)庫

靜態(tài)庫建立方法和動態(tài)庫一樣盖高,選擇靜態(tài)庫慎陵。
靜態(tài)庫的調(diào)用只需要在屬性中vc/c++添加包含目錄(.h文件路徑)和庫目錄(.lib)文件路徑眼虱,連接器常規(guī)加入依賴項.lib文件名。

lib.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末席纽,一起剝皮案震驚了整個濱河市捏悬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌润梯,老刑警劉巖过牙,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纺铭,居然都是意外死亡寇钉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門舶赔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扫倡,“玉大人,你說我怎么就攤上這事竟纳∧炖#” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵锥累,是天一觀的道長缘挑。 經(jīng)常有香客問我,道長揩悄,這世上最難降的妖魔是什么卖哎? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮删性,結(jié)果婚禮上亏娜,老公的妹妹穿的比我還像新娘。我一直安慰自己蹬挺,他們只是感情好维贺,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著巴帮,像睡著了一般溯泣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上榕茧,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天垃沦,我揣著相機與錄音,去河邊找鬼用押。 笑死肢簿,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播池充,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼桩引,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了收夸?” 一聲冷哼從身側(cè)響起坑匠,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎卧惜,沒想到半個月后厘灼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡序苏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年手幢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忱详。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖跺涤,靈堂內(nèi)的尸體忽然破棺而出匈睁,到底是詐尸還是另有隱情,我是刑警寧澤桶错,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布航唆,位于F島的核電站,受9級特大地震影響院刁,放射性物質(zhì)發(fā)生泄漏糯钙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一退腥、第九天 我趴在偏房一處隱蔽的房頂上張望任岸。 院中可真熱鬧,春花似錦狡刘、人聲如沸享潜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剑按。三九已至,卻和暖如春澜术,著一層夾襖步出監(jiān)牢的瞬間艺蝴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工鸟废, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留猜敢,地道東北人。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像锣枝,于是被迫代替她去往敵國和親厢拭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348