我们正在与这里开发的硬件连接,并允许通过网络进行访问。该设备的固件是用C语言编写的,部分固件是大约5000行代码,用于解析配置数据的巨大二进制文件,编译为.dll。
在天堂有什么方法我可以从PHP访问用C语言编写的.dll吗?
我认为这是不行的,但在开始尝试在PHP中复制5000行C之前,我想我会给专家们一个机会。
谢谢大家。
JH
答案 0 :(得分:6)
http://devzone.zend.com/node/view/id/1021
我认为this question与您有关。
答案 1 :(得分:2)
您可能需要查看SWIG,这是一个包装库的通用工具,以便可以从各种语言中调用它们。 SWIG支持PHP,Perl和Lua(我个人使用的目标)也是如此。引自SWIG website的功能列表:
SWIG目前生成包装代码 对于十八个不同的目标 语言:
- Allegro CL
- C#
- CFFI
- CLISP
- 鸡
- 狡诈
- 爪哇
- 的Lua
- Modula一3
- 的MzScheme
- OCAML
- 八度
- 的Perl
- PHP
- 的Python
- - [R
- 红宝石
- 的Tcl
- UFFI
除此之外,解析树 可以导出为XML和Lisp s表达式。实验工作是 也可用于派克模块。
它的一些功能依赖于每种语言包装器生成器中的后端支持,但通常它提供了易于使用的包装器,用于将所有普通数据值类型传入和传出函数。在目标语言具有概念的情况下,它通常也可以映射对象模型。
答案 2 :(得分:1)
你难道不能将你需要的DLL部分编译成可执行文件,并从php执行它并利用结果吗?
像
这样的东西$data = `someprogram --options`
然后只需使用您想要的数据。