對自己所做的事要有興趣,同時還要能夠堅持不懈
DLL 通常具有在 DLL 加載時必須執行的初始化代碼(如分配內存)。使用 Visual C++ 時,在何處添加初始化 DLL 的代碼取決于生成的 DLL 類型。如果不需要添加初始化代碼或終止代碼,則在生成 DLL 時沒有什么特別的事情要做。如果需要初始化 DLL,則下表描述了應在何處添加代碼。
DLL 類型
添加初始化代碼和終止代碼的位置
規則 DLL
在 DLL 的 CWinApp 對象的 InitInstance 和 ExitInstance 中。
擴展 DLL
在“MFC DLL 向導”生成的 DllMain 函數中。
非 MFC DLL
在您提供的稱為 DllMain 的函數中。
在 Win32 中,所有 DLL 都可能包含一個可選的入口點函數(通常稱為 DllMain),初始化和終止時都要調用此函數。這使您有機會在需要時分配或釋放其他資源。Windows 在四種情況下調用入口點函數:進程附加、進程分離、線程附加和線程分離。
C 運行時庫提供了一個名為 _DllMainCRTStartup 的入口點函數,并調用 DllMain。根據 DLL 類型的不同,應在源代碼中包含一個名為 DllMain 的函數,或應用 MFC 庫中提供的 DllMain。
為初始化非 MFC DLL,DLL 源代碼必須包含一個名為 DllMain 的函數。下列代碼顯示了一個基本主干,說明 DllMain 定義的大概樣子:
posted on 2009-08-04 00:08 把握命運 閱讀(1209) 評論(0) 編輯 收藏 引用
Powered by: C++博客 Copyright © 把握命運