dll库的创建

来源:互联网 发布:微信相册软件 编辑:程序博客网 时间:2024/06/05 08:52

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才会把动态链接库文件加载到内存中,减少了内存浪费

0 0