php 调用 dll 源码,php 调用 C++ dll

在PHP中尝试调用C++动态库的GameRegister函数时,遇到'com_exception'错误,提示参数不正确。问题可能源于参数类型不匹配,因C++与PHP之间的数据类型转换问题导致。尝试修改参数传递方式无效。讨论中提到,COM接口不支持指针传递,可能是问题所在。目前问题尚未解决,期待更多技术讨论。
摘要由CSDN通过智能技术生成

动态库中要调用的函数

extern "C" int __stdcall GameRegister(char* szSystemInfo, char *szRegCode, char *szLicense);

PHP代码

Register("EducationGameRegister.dll", "GameRegister", 'i=sss', "f=s", "r=u"); $reg_code = "";$ch = $dw->GameRegister("P2G9YFWGZW68G","2597367cea95b2cf0aace3bd5059c33e",&$reg_code);echo "Return Value:".$ch;echo "Register Code:".$reg_code; ?>

运行时出现下面的错误:

Fatal error: Uncaught exception 'com_exception' with message 'Error [0x80070057] 参数不正确。 ' in D:\WAMP\WWW\index.php:11 Stack trace: #0 D:\WAMP\WWW\index.php(11): com->Register('EducationGameRe...', 'GameRegister', 'i=sss', 'f=s', 'r=l') #1 {main} thrown in D:\WAMP\WWW\index.php on line 11

初次接触PHP,大家帮我看一下,谢谢了!

回复讨论(解决方案)

原型要求参数是指针,而 com 是不能传递指针的

PHP还能调用C++啊 真没听说过,坐等高人

$ch = $dw->GameRegister("P2G9YFWGZW68G","2597367cea95b2cf0aace3bd5059c33e",$reg_code);

????

这样也不行的。

我也碰到了这个问题,楼主解决了么

我也碰到了这个问题,楼主解决了么

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值