Bir dll başlatılıyor
Genellikle DLL'iniz yüklenirken yürütülmesi gereken (bellek ayırmak gibi) başlangıç koduna sahiptir. Visual C++ kullanırken DLL'nizi başlatacak kodu ekleyeceğiniz yer oluşturmakta olduğunuz DLL türüne bağlıdır. Başlatma veya sonlandırma kodu eklemeniz gerekmiyorsa, DLL dosyanızı oluştururken yapmanız gereken özel bir şey yoktur. DLL'nizi başlatmanız gerekiyorsa aşağıdaki tablo kodunuzu nereye eklemeniz gerektiğini gösterir.
DLL türü |
Başlatma ve sonlandırma kodunun nereye ekleneceği |
---|---|
Normal DLL |
DLL'nin CWinApp nesnesinin InitInstance ve ExitInstance öğelerinde. |
Uzantı DLL |
MFC DLL sihirbazı tarafından oluşturulan DllMain işlevinde. |
MFC olmayan DLL |
Sağladığınız DllMain adındaki bir işlevde. |
Win32'de bütün DLL'ler başlatma ve sonlandırma için çağrılan isteğe bağlı girdi noktası işlevi içerebilir (genellikle DllMain olarak adlandırılır). Bu, gerektiği gibi ek kaynak tahsis etmenize ya da serbest bırakmanıza olanak sağlar. Windows dört durumda giriş noktası işlevini çağırır: işleme eklenme, işlemden ayrılma, iş parçacığı ekleme ve iş parçacığı ayırma.
C çalışma zamanı kitaplığı _DllMainCRTStartup adında bir giriş noktası işlevi sağlar ve bu, DllMain'i çağırır. DLL türüne bağlı olarak, kaynak kodunuzda DllMain adı verilen bir işleviniz olmalıdır veya MFC kitaplığında sağlanmış olan DllMain işlevini kullanmanız gerekir.