dll库的创建

1.新建->项目->win32->win32 项目->类型勾选DLL和MFC->完成

2.在.cpp文件里添加dll库函数:

                     extern "C" declspec(dllexport) 函数返回值 函数名 (参数列表)
                    {
                          函数定义;
                     }

3.编译dll库将生成的dll.lib文件拷贝到相应的应用程序工程的当前目录的 Debug下

4.在应用程序工程的.h文件中 添加: #pragma comment(lib,"ws2_32.lib");

5.typedef   函数返回类型 指针名 (函数参数列表); // 这个要与dll里的库函数声明一致

6. 加载库:HMODULE   m_hWnd =LoadLibrary(库名);

7.指针=

FARPROC GetProcAddress(
  HMODULE hModule,    // handle to DLL module
  LPCSTR lpProcName   // name of function
);
8.用指针进行进行函数调用
9.FreeLibrary();
   什么是DLL?
   是一种可执行文件,允许程序共享执行特殊任务所必须的代码和资源,由全局数据、服务函数、资源组成,在运行时被系统加载到调用进程的虚拟空间中,成为进程的一部分。
   和应用程序的区别?
   都是完成一定功能的可执行模块,使用完全相同的PE格式,只是用一个字段标识出该文件是exe还是dll,主要区别是应用程序有自己的消息循环,而dll没有,但是它可以发送消息;应用程序主动完成某一功能,而dll主要是被动的提供服务。
   链接方式:静态链接和动态链接
   静态链接:就是把要链接的库的代码全部放到可执行程序里,提供函数完整的目标代码;只是简单地记录了函数的位置信息,当运行调用到动态链接库内的函数时,windows才会把动态链接库文件加载到内存中,减少了内存浪费

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值