网狐子游戏工程GameServer.cpp中C++动态链接库入口dllmain详解

本文详细介绍了在网狐子游戏工程的GameServer.cpp中,C++动态链接库的入口函数dllmain的工作原理。讨论了DLL初始化、导出主函数、编译器警告处理以及DLL加载和卸载时的生命周期事件DLL_PROCESS_ATTACH和DLL_PROCESS_DETACH。

1. 初始化动态链接库需要用的的结构

static AFX_EXTENSION_MODULE	GameServerDLL={NULL,NULL};

2. DLL导出主函数


extern "C" int APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
}

3. 让编译器不必检测你的警告,告诉编译器lpReserved参数已使用

UNREFERENCED_PARAMETER(lpReserved);

4. 当一个DLL被首次载入进程地址空间时,系统会调用该DLL的DLLMain函数,传递的参数fdwReason为DLL_PROCESS_ATTACH

if (dwReason==DLL_PROCESS_ATTACH)
	{
		//生成扩展DLL的拷贝
		if (!AfxInitExtensionModule(GameServerDLL,hInstance)) return 0;//初始化扩展DLL
		//DLL将输出CRuntimeClass对象或者具有它自己的资源,需要在DllMain中创建CDynLinkLibrary对象。
		new CDynLinkLibrary(GameServerDLL);
	}

5.&nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宏权实验室

有你的鼓励,我会更加努力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值