麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

動態鏈接庫的創建和使用(基礎版)——學習記錄

2019-11-14 09:20:28
字體:
來源:轉載
供稿:網友

dll是將一個項目模塊化的非常重要的組成部分,因此將dll的學習過程和工作中的經驗記錄下來以便更好地梳理知識。

編譯環境:Visual C++ 6.0

一、創建動態鏈接庫

1、創建dll工程(dll工程又分為MFC Dll、Win 32 Dll,還可以自己創建單個.cpp文件)

2、在源文件*.cpp中編寫函數(每個函數結尾不需要‘;’),并且在需要導出的函數前加 _declspec(dllexport),可參考下面代碼:(我用了一個宏DLL_API 來定義_declspec(dllexport),也可以用_declspec(dllexport)直接加在導出函數的前面)

#ifdef DLL_API extern "C"_declspec(dllexport)   #else  #define DLL_API extern "C" _declspec(dllexport) #endif   DLL_API int __stdcall addtest(int a,int b){return a+b;} 

3、在頭文件*.h中聲明導出函數,將DLL1_API定義為export,供輸出使用

#ifdef DLL_API extern "C" _declspec(dllexport)   #else  #define DLL_API extern "C" _declspec(dllexport)  #endif 

DLL_API int addtest(int a,int b){return a+b;}  

4、build生成dll,lib文件

    到這里,已經完成了最基礎的的函數的導出部分,還有導出類,這里沒寫出來,后續再加上。

    還有一點需要注意的是,在創建動態鏈接庫的時,有時會出現導出函數名字改編的問題,可以用模塊定義文件*.def來消除問題,用法如下。也可以搜索關鍵字“dll名字改編”等關鍵去查找相關資料。

EXPORTSaddtest

二、調用動態鏈接庫

靜態調用1、把.lib、.dll、和.h頭文件拷貝到工程目錄下2、添加h文件:(*.h) 

#PRagma comment(lib,”mfcdlltest.lib”)//告訴編譯器DLL相對應的lib文件所在路徑和文件名 

extern “C”_declspec(dllimport) int _stdcall addtest(int a,int b);//聲明導入函數 

3、在工程中使用函數addtest

動態調用1、只需把.dll拷貝到運行目錄下(注意是運行目錄,如果單步調試時需拷貝在工程目錄;運行exe需要放在exe同級目錄下,路徑可以自行設定)2、加載并調用導出函數,使用完之后釋放typedef int (* lpAddFun)(int ,int);//定義一個與Add_new函數接受參數類型和返回值均相同的函數指針類型 …………HINSTANCE hDll;//句柄lpAddFun addFun;//函數指針 hDll = LoadLibrary("mfcdlltest.dll");//動態加載DLL模塊句柄 if( hDll ){addFun=(lpAddFun) GetProcAddress(hDll,"addtest");//得到所加載DLL模塊中函數的地址 if( addFun ){addFun(1,2);FreeLibrary(hDll);//釋放已經加載的DLL模塊}}    顯然,使用動態鏈接庫是比較簡單的。怎么寫好動態鏈接庫顯得更為重要,看導出的函數能否成功被調用以及函數本身的功能是否實現的這個過程需要不斷調試。我在學習的時候也借鑒了一些前輩的總結的經驗,大家還有不懂的也可以借鑒一下:http://blog.csdn.net/jarvischu/article/details/6559059


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 视频国产一区二区 | 国产免费久久久久 | 美女在线视频一区二区 | 九九热免费精品视频 | 午夜天堂在线视频 | 黄色片网站免费在线观看 | 黄视频免费在线 | 欧美性久久久 | 国产做爰全免费的视频黑人 | 日本免费不卡一区二区 | 亚洲人成综合第一网 | www.91sese| 国产美女视频黄a视频免费 日韩黄色在线播放 | 久久久久久久久久久久久国产精品 | 精品国产一区二区三区四 | 国产精品久久久久久久久久妇女 | 中文字幕在线观看www | 国产精品爱久久久久久久 | 色淫网站免费视频 | 狠狠干视频网站 | 狠狠干天天操 | 欧美中文日韩 | 九九热在线视频观看 | 久久综合狠狠综合久久 | 亚洲一级片免费观看 | 成人辣文 | 精品一区二区三区中文字幕老牛 | 黄色av网站在线观看 | 黑人三级毛片 | 黄污视频在线看 | 亚洲网站在线观看视频 | 国产一区二区欧美精品 | 亚洲最新色 | 欧美日韩国产成人在线观看 | 7777久久香蕉成人影院 | 毛片一区二区三区四区 | 九九精品在线观看视频 | 成人免费电影在线观看 | 久草视频在线资源 | 欧美一级免费视频 | 亚洲一级片在线观看 |