> php教程 > php手册 > php调用DLL(COM)注意事项

php调用DLL(COM)注意事项

WBOY
풀어 주다: 2016-06-06 19:46:05
원래의
2110명이 탐색했습니다.

PHP调用DLL(COM)注意事项: 1、函数的参数中,最后一个参数函数是返回值,须是retval类型的。 2、向接口传字符串类型的参数时,不要用BSTR*类型的,而用BSTR,因为BSTR本身已经是指针了。 3、PHP中的数字0并不对应C/C++中的0或NULL,而是另有其值。 4、PHP中

PHP调用DLL(COM)注意事项:
1、函数的参数中,最后一个参数函数是返回值,须是retval类型的。
2、向接口传字符串类型的参数时,不要用BSTR*类型的,而用BSTR,因为BSTR本身已经是指针了。
3、PHP中的数字0并不对应C/C++中的0或NULL,而是另有其值。
4、PHP中的空字符串""并不对应C/C++中的NULL,最好用计算其长度是否为0来判断是否为空串。
5、向外输出的接口如果能放在一个类中,最好都放在一个类中。曾经在输出的接口函数中用了不是用来导出函数的类(但在ATL工程中),出现不可用的情况,不清楚是否和接口是否和不在同一个类中有关。
6、为字符串分配空间用::SysAllocString(),并用::SysFreeString(mem)释放。这一条不是必须的,只是看到网上好多例子都是用这对函数来分配和释放空间的。

 

本人刚接触PHP和COM,以上所说如若有不对之处,欢迎留言讨论。

 

至于如何制作可供PHP调用的DLL,网上有很多资源。下面一个连接:

http://www.360doc.com/content/10/0512/14/722458_27221569.shtml
 

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