Heim > Backend-Entwicklung > PHP-Tutorial > php 调用 C++ dll,该怎么处理

php 调用 C++ dll,该怎么处理

WBOY
Freigeben: 2016-06-13 11:46:02
Original
2156 Leute haben es durchsucht

php 调用 C++ dll
动态库中要调用的函数

<br />extern "C" int __stdcall GameRegister(char* szSystemInfo, char *szRegCode, char *szLicense);<br />
Nach dem Login kopieren


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 />
Nach dem Login kopieren


运行时出现下面的错误: 
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);
這樣試試

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage