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