从 DLL 动态加载函数
从 C 语言的 DLL(动态链接库)动态加载函数允许您访问单独定义的功能运行时的模块。以下是解决此问题的方法:
1.加载DLL:
<br>HINSTANCE hDLL = LoadLibrary("path/to/dll.dll");<br>
这一步将 DLL 加载到内存中并返回一个句柄它。
2。获取函数指针:
要访问 DLL 中的函数,需要使用 GetProcAddress 获取其地址:
<br>typedef int (__stdcall *f_funci )(); // 定义函数指针类型<br>f_funci funci = (f_funci)GetProcAddress(hDLL, "funci");<br>
此示例假设您的函数名为“funci”并使用__stdcall 调用约定。
3.调用函数:
一旦有了函数指针,就可以像调用任何其他函数一样调用该函数:
<br>int result = funci(); <br>
4.从 DLL 导出函数:
在 DLL 中,必须使用 __declspec(dllexport) 导出函数,以使其可供其他模块访问:
<br>int __declspec(dllexport) __stdcall funci() {<br> // 函数定义<br>}<br>
其他提示:
以上是如何在 C 中动态加载和调用 DLL 中的函数?的详细内容。更多信息请关注PHP中文网其他相关文章!