如何在PHP中调用自己编写的DLL库中的函数接口

 我来答
己学好4
2017-04-21 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:5189万
展开全部
在 DLL工程中的 cpp中函数定义如下:

extern "C" _declspec (dllexport )
int fun(int a, char b)
{
return a + b;
}
第一种方法 隐式调用:

调用的 DLL的主工程的 文件中代码如下:

// 先把 lib 链接进来
#pragma comment (lib , "..//Debug//FuncDll.lib" )

// 外部声明的 add 函数
extern "C" _declspec (dllimport )
int fun(int a, char b);

int TestDll()
{
// 直接调用 fun函数
printf("%d/n" , fun(5, 2));

return 0;
}
第二种方法 显式调用:
调用的 DLL的主工程的 文件中代码如下:

int TestDLL()
{
HMODULE hModule = NULL;
typedef int (*Func)(int a, int b);

// 动态加载 DLL 文件
hModule = LoadLibrary(_TEXT("..//Debug//FuncDll.dll" ));

// 获取 fun函数地址
Func fAdd = (Func)GetProcAddress(hModule, "fun" );

// 使用函数指针
printf("%d/n" , fAdd(3, 1));

// 释放指针
FreeLibrary(hModule);

return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式