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

正文內(nèi)容

動態(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被加載時,賦全局變量為 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)用程序必須通過強制指針轉(zhuǎn)換來使用 DLL中的全局變量。這一點,從 *(int*)dllGlobalVar可以看出。因此在采用這種方式引用 DLL全局變量時,千萬不要進(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)出一個 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的接口時, MFC使用 DLL的資源。因此,在靜態(tài)鏈接到 MFC 的規(guī)則 DLL中不需要進(jìn)行模塊狀態(tài)的切換。 ? 使用這種方法生成的規(guī)則 DLL其程序較大,也可能包含重復(fù)的代碼。 ? ( 2)動態(tài)鏈接到 MFC 的規(guī)則 DLL ? 動態(tài)鏈接到 MFC 的規(guī)則 DLL 可以和使用它的可執(zhí)行文件同時動態(tài)鏈接到 MFC DLL 和任何 MFC擴(kuò)展 DLL。在使用了 MFC共享庫的時候,默認(rèn)情況下, MFC使用主應(yīng)用程序的資源句柄來加載資源模板。這樣,當(dāng) DLL和應(yīng)用程序中存在相同 ID的資源時(即所謂的資源重復(fù)問題),系統(tǒng)可能不能獲得正確的資源。因此,對于共享 MFC DLL的規(guī)則 DLL,必須進(jìn)行模塊切換以使得 MFC能夠找到正確的資源模板。 MFC規(guī)則 DLL的創(chuàng)建 automation(自動化)技術(shù) 是否支持 Windows Sockets ?在 MFC應(yīng)用程序中 CWinApp取代了 SDK程序中 WinMain的地位, SDK程序WinMain所完成的工作由 CWinApp的三個函數(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。 ? ()。 ? } ? 分析: ? 這個接口并不使用 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的相同點在于在兩種DLL的內(nèi)部都可以使用 MFC類庫,其
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1