freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

動(dòng)態(tài)鏈接庫dll編程(編輯修改稿)

2025-06-18 17:13 本頁面
 

【文章內(nèi)容簡介】 include include int dllGlobalVar。 BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { dllGlobalVar = 100。 //在 dll被加載時(shí),賦全局變量為 100 return TRUE。 } 。文件名: 。在 DLL中導(dǎo)出變量 LIBRARY dllTest EXPORTS dllGlobalVar DATA 在主函數(shù)中引用 DLL中定義的全局變量: ?include pragma ment(lib,) extern int _declspec(dllimport) dllGlobalVar。 //用 _declspec(dllimport)導(dǎo)入 int main(int argc, char *argv[]) { printf(%d , dllGlobalVar)。 dllGlobalVar = 1。 printf(%d , dllGlobalVar)。 return 0。 } 特別要注意 ?用 extern int dllGlobalVar聲明所導(dǎo)入的并不是DLL中全局變量本身,而是其地址,應(yīng)用程序必須通過強(qiáng)制指針轉(zhuǎn)換來使用 DLL中的全局變量。這一點(diǎn),從 *(int*)dllGlobalVar可以看出。因此在采用這種方式引用 DLL全局變量時(shí),千萬不要進(jìn)行這樣的賦值操作: dllGlobalVar = 1。 MFC規(guī)則 DLL ?MFC規(guī)則 DLL的概念體現(xiàn)在兩方面: ?它是 MFC的 ?“ 是 MFC的 ” 意味著可以在這種 DLL的內(nèi)部使用MFC; ?它是規(guī)則的 ?“ 是規(guī)則的 ” 意味著它不同于 MFC擴(kuò)展 DLL,在MFC規(guī)則 DLL的內(nèi)部雖然可以使用 MFC,但是其與應(yīng)用程序的接口不能是 MFC。而 MFC擴(kuò)展 DLL與應(yīng)用程序的接口可以是 MFC,可以從 MFC擴(kuò)展 DLL中導(dǎo)出一個(gè) MFC類的派生類。 ?Regular DLL能夠被所有支持 DLL技術(shù)的語言所編寫的應(yīng)用程序調(diào)用,當(dāng)然也包括使用 MFC的應(yīng)用程序。 Regular DLL分為兩類: ? ( 1)靜態(tài)鏈接到 MFC 的規(guī)則 DLL ? 靜態(tài)鏈接到 MFC的規(guī)則 DLL與 MFC庫(包括 MFC擴(kuò)展 DLL)靜態(tài)鏈接,將 MFC庫的代碼直接生成在 .dll文件中。在調(diào)用這種 DLL的接口時(shí), MFC使用 DLL的資源。因此,在靜態(tài)鏈接到 MFC 的規(guī)則 DLL中不需要進(jìn)行模塊狀態(tài)的切換。 ? 使用這種方法生成的規(guī)則 DLL其程序較大,也可能包含重復(fù)的代碼。 ? ( 2)動(dòng)態(tài)鏈接到 MFC 的規(guī)則 DLL ? 動(dòng)態(tài)鏈接到 MFC 的規(guī)則 DLL 可以和使用它的可執(zhí)行文件同時(shí)動(dòng)態(tài)鏈接到 MFC DLL 和任何 MFC擴(kuò)展 DLL。在使用了 MFC共享庫的時(shí)候,默認(rèn)情況下, MFC使用主應(yīng)用程序的資源句柄來加載資源模板。這樣,當(dāng) DLL和應(yīng)用程序中存在相同 ID的資源時(shí)(即所謂的資源重復(fù)問題),系統(tǒng)可能不能獲得正確的資源。因此,對于共享 MFC DLL的規(guī)則 DLL,必須進(jìn)行模塊切換以使得 MFC能夠找到正確的資源模板。 MFC規(guī)則 DLL的創(chuàng)建 automation(自動(dòng)化)技術(shù) 是否支持 Windows Sockets ?在 MFC應(yīng)用程序中 CWinApp取代了 SDK程序中 WinMain的地位, SDK程序WinMain所完成的工作由 CWinApp的三個(gè)函數(shù)完成: ?virtual BOOL InitApplication( )。 ?virtual BOOL InitInstance( )。 ?virtual BOOL Run( )。 //傳說中 MFC程序的 “ 活水源頭 ” MFC規(guī)則 DLL接口函數(shù) ? include ? include ? __declspec(dllexport) void ShowDlg(void) ? 或 ? extern C __declspec(dllexport) void ShowDlg(void) ? { ? CDllDialog dllDialog。 ? ()。 ? } ? 分析: ? 這個(gè)接口并不使用 MFC,但是在其中卻可以調(diào)用 MFC擴(kuò)展類CdllDialog的函數(shù),這體現(xiàn)了 “ 規(guī)則 ” 的概類。 ? 與非 MFC DLL完全相同,可以使用 __declspec(dllexport)聲明或在 .def中引出的方式導(dǎo)出 MFC規(guī)則 DLL中的接口。 MFC規(guī)則 DLL的調(diào)用 pragma ment(lib,) ?__declspec(dllexport) void ShowDlg(void) ?void ShowDlg(void)。 ?或 ?extern C __declspec(dllexport) void ShowDlg(void) ?extern C void ShowDlg(void)。 void CRegularDllCallDlg::OnCalldllButton() { ShowDlg()。 } MFC擴(kuò)展 DLL ? MFC擴(kuò)展 DLL與 MFC規(guī)則 DLL的相同點(diǎn)在于在兩種DLL的內(nèi)部都可以使用 MFC類庫,其
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1