dll动态链接库(2)---入口函数DllMain

本文介绍了DLL动态链接库的创建和使用,包括如何查看动态库导出函数、新建DLL工程、理解DLL的入口点函数DllMain及其参数,以及DLL导出函数的两种方式:.def文件和__declspec(dllexport)关键字。DllMain函数在DLL_PROCESS_ATTACH、DLL_PROCESS_DETACH、DLL_THREAD_ATTACH和DLL_THREAD_DETACH等场景下有不同的作用。
摘要由CSDN通过智能技术生成
1、动态库导出函数的查看:
使用Vc++自带的Depends工具进行查看,但是只能看到函数的名字,具体的函数参数及返回值看不到,所以要把动态库导出函数声明的头文件(.h文件)打包给<<开发者>> 。


2、新建DLL工程:
大家在新建工程向导过程中,不要选择 “使用MFC” 选项,如果选上的话,会把DLL变为MFC规则DLL,就是我们上节课讲的第二种动态链接库。


3、DLL程序入口点函数:
CUI控制台程序(不是DOS):main
GUI用户界面程序:WinMain
DLL程序入口点函数:DllMain,注意:大小写是区别的(仅导出资源的DLL可以没有DllMain函数)。为大家讲解下具体的参数的应用。
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
)
{
    return TRUE;
}


①hModule参数:指向DLL本身的实例句柄;


②ul_reason_for_call参数:指明了DLL被调用的原因,可以有以下4个取值:
■DLL_PROCESS_ATTACH:
当DLL被进程 <<第一次>> 调用时ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值