php 调用 C++ dll
动态库中要调用的函数
<br />extern "C" int __stdcall GameRegister(char* szSystemInfo, char *szRegCode, char *szLicense);<br />
PHP代码
<br /><?php<br /> $dw = new Com("DynamicWrapper");<br /> $dw->Register("EducationGameRegister.dll", "GameRegister", 'i=sss', "f=s", "r=u"); <br /> <br /> $reg_code = "";<br /> $ch = $dw->GameRegister("P2G9YFWGZW68G","2597367cea95b2cf0aace3bd5059c33e",&$reg_code);<br /> <br /> echo "Return Value:".$ch;<br /> echo "Register Code:".$reg_code; <br /> ?><br />
运行时出现下面的错误:
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 是不能传递指针的
------解决方案-------------------- $ch = $dw->GameRegister("P2G9YFWGZW68G","2597367cea95b2cf0aace3bd5059c33e",$reg_code);
這樣試試
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn