首頁 >後端開發 >php教程 >php 调用 C++ dll

php 调用 C++ dll

WBOY
WBOY原創
2016-06-23 14:39:371329瀏覽

动态库中要调用的函数

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


PHP代码
<?php                $dw = new Com("DynamicWrapper");				$dw->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);
????

这样也不行的。

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

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn