DLL使用

x.dll文件:(这个文件要先建个win32工程选dll,编译连接后得到)

extern "C" _declspec(dllexport) int add(int a ,int b)
{
return a+b;
}

test.cpp文件:

#include <windows.h>
#include <iostream>
using namespace std;
typedef int (*add)(int ,int );
int main(void)
{
add x;
char path[100];
    HINSTANCE hinst=::LoadLibrary("dll_nolib.dll"); 
x=(add)GetProcAddress(hinst,"add");
   int c=x(1,2);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DLL(动态链接库)是一种可执行文件格式,可以在运行时被程序动态加载。使用 DLL 可以将代码和数据分离,使得程序更加模块化,便于维护和更新。 在 Windows 平台上,可以使用以下步骤来使用 DLL: 1. 编写 DLL 文件。可以使用 C/C++ 等语言来编写 DLL 文件。 2. 将 DLL 文件放置在指定的目录下,或者将其加入系统路径中。这样程序就可以找到并加载 DLL 文件。 3. 在程序中使用 DLL 文件中的函数。可以使用 LoadLibrary 和 GetProcAddress 函数来动态加载 DLL 文件,并获取其中的函数指针。 4. 在程序中卸载 DLL 文件。可以使用 FreeLibrary 函数来卸载已经加载的 DLL 文件。 下面是一个简单的例子,演示了如何使用 DLL 文件中的函数: ```c++ #include <windows.h> #include <iostream> typedef int (*MyFunc)(int); int main() { HMODULE hModule = LoadLibrary("mydll.dll"); if (hModule == NULL) { std::cout << "Failed to load library." << std::endl; return 1; } MyFunc myFunc = (MyFunc)GetProcAddress(hModule, "myfunc"); if (myFunc == NULL) { std::cout << "Failed to get function pointer." << std::endl; FreeLibrary(hModule); return 1; } int result = myFunc(123); std::cout << "Result: " << result << std::endl; FreeLibrary(hModule); return 0; } ``` 在这个例子中,我们使用 LoadLibrary 函数加载名为 mydll.dllDLL 文件,并使用 GetProcAddress 函数获取其中名为 myfunc 的函数指针。然后,我们调用 myFunc 函数,并传入参数 123。最后,我们使用 FreeLibrary 函数卸载已经加载的 DLL 文件。 这只是一个简单的例子,实际使用 DLL 文件时还需要注意一些细节,例如函数名的导出方式、内存分配和释放等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值