dll的分类

 一般我们这里所说的dll有3种,
第一种就是最基本的,windows系统所使用的Win32的DLL,这种dll函数采用stdcall或者cdecl的方式进行调用,dll文件会导出各种可供外部程序调用的函数。SE对这类dll需要使用SE_API插件进行调用。
第二种也是微软提出的com服务程序的dll,也就是ActiveX的DLL,这类dll不像第一种那样导出各种基本函数,而是注册到系统中通过com规范来调用。SE对这类dll,需要使用VBS来调用。
第三种,就是类似SE各种插件这样的专用dll,这些dll本质上其实就是第一类的dll,但是为了提供更方便的调用和功能及速度的考虑,采用了专用的插件接口协议,这类dll在SE中只要放在plugins目录中就可以直接被SE使用,是最为方便功能最强的DLL。
DLL(Dynamic Link Library,动态链接库)是一种可重用的代码库,可以在不同的程序中使用。DLL可提供应用程序所需的函数和数据,从而降低了应用程序的大小,也方便了程序员的开发。 一般来说,DLL可分为两类:系统 DLL 和应用程序 DLL。系统 DLL 是由 Windows 操作系统提供的,而应用程序 DLL 则是由开发人员编写的,用于特定应用程序的功能。 使用 DLL,需要以下步骤: 1. 创建 DLL 可以使用 Visual Studio 等开发工具创建 DLL 项目,编写 DLL 的代码并编译生成 DLL 文件。 2. 导出函数 在 DLL 中,需要将需要被其他程序调用的函数导出。可以使用 __declspec(dllexport) 标记来实现。 例如: ```c++ __declspec(dllexport) int Add(int a, int b) { return a + b; } ``` 3. 使用 DLL 在应用程序中,需要使用 LoadLibrary 函数来加载 DLL,并使用 GetProcAddress 函数获取需要调用的函数地址。 例如: ```c++ #include <windows.h> #include <iostream> typedef int (*AddFunc)(int, int); int main() { HMODULE hDll = LoadLibrary("MyDll.dll"); if (hDll == NULL) { std::cout << "Failed to load DLL!" << std::endl; return -1; } AddFunc pAdd = (AddFunc)GetProcAddress(hDll, "Add"); if (pAdd == NULL) { std::cout << "Failed to get function address!" << std::endl; return -1; } int result = pAdd(1, 2); std::cout << "Result: " << result << std::endl; FreeLibrary(hDll); return 0; } ``` 以上就是 DLL 分类及使用方法的简单介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值