女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當前位置:首頁 > > 充電吧
[導讀]? 動態(tài)鏈接庫:DLL(Dynamic Linkable Library) ? ? kernel32.dll處理內存管理和進程調度 user32.dll控制用戶界面 gdi32.dll圖形處理 ? w

?

動態(tài)鏈接庫:DLL(Dynamic Linkable Library)

?

?

kernel32.dll處理內存管理和進程調度

user32.dll控制用戶界面

gdi32.dll圖形處理

?

win32 dll

mfc dll

#include

#include

using namespace std;

typedef int(*LoadFunc)(int,int);

?

int main(void)

{

?

?????? HINSTANCE hInstance;

?????? LoadFunc add;

//加載dll

?

?????? hInstance=LoadLibrary(L"C:\Documents and Settings\liutao6\桌面\dlld.dll");

?????? if (hInstance!=NULL)

?????? {????

?????? add=(LoadFunc)GetProcAddress(hInstance,"Add");//獲取函數地址

?????? if (add!=NULL)

?????? {

????????????? int result=add(5,2);

????????????? cout<

?????? }

?

?????? FreeLibrary(hInstance);//釋放dll模塊

?????? }

?

}

?

?

?

extern "C" int __declspec(dllexport) Add(int,int);? //導出函數

?

int Add(int a,int b)

{

?????? return a+b;

}

使用MFC編寫的DLL,可以分成兩大類:

l 規(guī)則DLL——規(guī)則(regular)DLL中所包含的函數,可以被所有Windows應用程序使用;

n???????? 共享MFC——DLL中不包含MFC庫函數,需要另外安裝MFC動態(tài)鏈接庫后才能使用;

n???????? 靜態(tài)MFC——DLL中包含MFC庫函數,可以脫離MFC動態(tài)鏈接庫獨立使用。

l 擴展DLL——擴展(extension)DLL中所定義的類和函數,只能被所MFC應用程序使用。而且擴展DLL中不能包含MFC庫函數,也需要另外安裝MFC動態(tài)鏈接庫后才能使用。

?

1 擴展DLL

使用MFC編寫的擴展DLL,可以導出整個類(從而能使用類中的所有成員,包括數據成員和成員函數),也可以導出指定的若干(成員或全局)函數。

(1)新建MFC擴展DLL

(2)添加導出類(MFC類).繼承自Cobject.編寫代碼并運行

AFX_EXT_CLASS intMod(intd1, int d2);//導出函數聲明

class? AFX_EXT_CLASS CCompute : public CObject//導出類聲明

?????? //#define AFX_EXT_CLASS?????? AFX_CLASS_EXPORT

?????? //#define AFX_CLASS_EXPORT __declspec(dllexport)

{

public:

??? int m_data1, m_data2;

??? CCompute();

??? CCompute(intd1,int d2);

??? virtual ~CCompute();

public:

??? int Add();

??? int Sub();

??? int Mul();

??? double Div();

?

};

(3)新建項目MFC應用程序。選中項目名,選中菜單項“項目項目依賴項”,在彈出的“項目依賴項”對話框中,選中“依賴欄”中的

(4)新項目的頭文件包含頭文件#include "..ExtDllCompute.h"

(5)在項目的類中聲明對象CCompute *m_pComp;

void CExtClientDlg::OnBnClickedAdd()

{

?????? // TODO: 在此添加控件通知處理程序代碼

??????Comp(IDC_ADD);

}

?

void CExtClientDlg::Comp(UINT nID)//參數為按鈕標識

{

?????? UpdateData(); //動態(tài)獲取用戶輸入的數據并賦值給對應的控件變量

?????? m_pComp = new CCompute(m_iData1, m_iData2); //創(chuàng)建計算對象

?????? int r;

?????? double dr;

?????? switch(nID) { //進行四則和取模運算

????????????? case IDC_ADD: r = m_pComp->Add(); break;

。。。

?????? }

?????? delete m_pComp;

?????? if (nID != IDC_DIV) SetDlgItemInt(IDC_RESULT, r); //顯示整數結果

?????? else { // 顯示除法所得的實數結果

????????????? wchar_t buf[20];

????????????? swprintf_s(buf, 20, L"%g", dr);

????????????? SetDlgItemText(IDC_RESULT, buf);

?????? }

}

2? 規(guī)則DLL

使用MFC編寫的規(guī)則DLL,雖然只能導出函數而不能導出整個類,但是其導出的函數卻可以其他被非MFC應用程序所調用。下面我們仍通過上面的四則運算的例子,看看如何用關鍵字__declspec(dllexport)和extern "C"來編寫和使用導出若干(全局)C函數的規(guī)則MFC DLL。

使用共享MFC DLL的規(guī)則DLL

也可以選擇“帶靜態(tài)鏈接MFC的規(guī)則DLL”,差別是所生成的DLL中會包含MFC庫,當然所生成的庫文件也會大一些(但因此可不用另外安裝MFC動態(tài)鏈接庫)。例如,在此例中,選共享MFC所生成的RegDll.dll文件只有13KB大,而選擇靜態(tài)MFC的則有199KB。

規(guī)則DLL項目是使用共享MFC還是使用靜態(tài)MFC,也可以在生成DLL項目之后,通過項目屬性對話框的“配置屬性常規(guī)”頁中的“MFC的使用”欄中的下拉式列表選項來切換,這一點與普通MFC應用程序項目的類似。

?

1.宏定義

#define DllImport extern "C" _declspec(dllimport)

2.Cpp文件中加入

DllExport int Add(intd1,int d2) {??? return d1 + d2;}

DllExport int Sub(intd1,int d2) {??? return d1 - d2;}

DllExport int Mul(intd1,int d2) {??? return d1 * d2;}

?

?

?

3.添加依賴項和頭文件方法同上。工程文件cpp中加入

#define DllImport extern "C" _declspec(dllimport)

?

DllImport int Add(intd1,int d2);

DllImport int Sub(intd1,int d2);

DllImport int Mul(intd1,int d2);

DllImport double Div(intd1,int d2);

DllImport intMod(intd1, int d2);

?

4.使用函數

Add(m_iData1,m_iData2)

?

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉