日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
C++常規(guī)DLL應(yīng)用方式介紹

C++中的DLL應(yīng)用在實(shí)際編程中是非常重要的一個(gè)基礎(chǔ)概念,掌握了這一應(yīng)用對(duì)于我們程序開(kāi)有著非常重要的作用。在這里我們將會(huì)針對(duì)C++常規(guī)DLL做一個(gè)詳細(xì)介紹,希望能給大家?guī)?lái)一些幫助。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比賈汪網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式賈汪網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋賈汪地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。

C++常規(guī)DLL的建立與使用

1:導(dǎo)出函數(shù)

 
 
 
  1. __declspec(dllexport) void ShowDlg(void)  
  2. {  
  3. CDllDialog dllDialog;  
  4. dllDialog.DoModal ();  

2:修改.def文件,加上函數(shù)名稱

 
 
 
  1. ; DrawTestDll.def : Declares the module parameters for the DLL.  
  2.  
  3. LIBRARY "DrawTestDll"  
  4. DESCRIPTION 'DrawTestDll Windows Dynamic Link Library'  
  5.  
  6. EXPORTS  
  7. ; Explicit exports can go here 

3:將DLL文件復(fù)制到程序所在目錄

4:在程序里調(diào)用DLL

 
 
 
  1. void CDllTestView::OnLButtonDown(UINT nFlags, CPoint point)  
  2. {  
  3. typedef void (*lpFun)(void);  
  4. HINSTANCE hDll; //DLL句柄  
  5. hDll = LoadLibrary("DrawTestDll.dll"); //加載DLL資源  
  6. if (NULL==hDll) //尋找順序,EXE所在目錄,工程所在目錄,System、windows目錄  
  7. {  
  8. MessageBox("DLL加載失敗");  
  9. }  
  10. lpFun addFun; //函數(shù)指針  
  11. addFun = (lpFun)GetProcAddress(hDll,"ShowDlg"); //得到函數(shù)ShowDlg的地址  
  12. if (NULL==addFun)  
  13. {  
  14. MessageBox("DLL中函數(shù)尋找失敗");  
  15. }  
  16. HINSTANCE exe_hinstance=AfxGetResourceHandle(); //得到主程序的實(shí)例句柄  
  17. AfxSetResourceHandle(hDll); //設(shè)置主程序的句柄為DLL實(shí)例(利用DLL里的資源)  
  18. addFun(); //調(diào)用函數(shù)  
  19. AfxSetResourceHandle(exe_hinstance);//重新設(shè)置主程序的實(shí)例句柄  
  20. FreeLibrary(hDll); //赦放DLL資源  

C++常規(guī)DLL中類的使用

1:DLL中添加新類

類的.h文件:

 
 
 
  1. //導(dǎo)出一個(gè)類(包括其方法、屬性)  
  2. class _declspec(dllexport) CDllClass {  
  3. public:  
  4. CDllClass(void);  
  5. void MSG(const char * const str);  
  6. }; 

類的.cpp文件:

 
 
 
  1. #include "stdafx.h"  
  2. #include "DllClass.h"  
  3.  
  4. CDllClass::CDllClass()  
  5. {  
  6. return;  
  7. }  
  8. void CDllClass::MSG(const char * const str)  
  9. {  
  10. MessageBox(NULL,str,"",MB_OK);  

2:將編譯好的DLL文件、Lib文件和類的頭文件復(fù)制到工程目錄

3:修改類的頭文件(將dll的頭文件中為 dllexport,在應(yīng)用文件中為dllimport)

 
 
 
  1. //導(dǎo)入一個(gè)類(包括其方法、屬性)  
  2. class _declspec(dllimport) CDllClass {  
  3. public:  
  4. CDllClass(void);  
  5. void MSG(const char * const str);  
  6. }; 

4:在調(diào)用類的實(shí)現(xiàn)函數(shù)的文件里加上類的頭文件和Lib文件的引用

 
 
 
  1. #include "DllClass.h" //頭文件的引入,是程序可以定義類的對(duì)象  
  2. #pragma comment(lib,"DrawDll.lib") //具體函數(shù)的定義 

正常使用即可。以上就是對(duì)C++常規(guī)DLL的相關(guān)介紹。


名稱欄目:C++常規(guī)DLL應(yīng)用方式介紹
標(biāo)題URL:http://www.5511xx.com/article/coidojo.html