> 백엔드 개발 > PHP 튜토리얼 > php 调用 C++ dll,该怎么处理

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

WBOY
풀어 주다: 2016-06-13 11:46:02
원래의
2156명이 탐색했습니다.

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);
這樣試試

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿