如何使用C ++代码与PHP交互?

时间:2009-10-01 06:37:00

标签: php c++ performance compiled

我正在读某个地方,有时候PHP根本不够快,而且编译后的代码有时会“做得很重”

C ++中的api是做什么的?

5 个答案:

答案 0 :(得分:34)

你可以在PHP中添加函数/类,用C 编写(如果我从前一段时间读过的文章中记得正确的话,你可以从C包装一个C ++类),这可能允许你可以更快地做一些事情 - 如果编程得好:不需要解释PHP代码;只执行机器代码,这通常会更快。

要做到这一点,您必须开发 PHP扩展

互联网上没有那么多可用的资源,但这些资源可能会帮助你开始:

而且,特别是关于C ++部分,这个也可能有所帮助:

如果你真的对这个主题感兴趣,并准备花一些钱,你也可以买这本书Extending and Embedding PHP some pages are available as preview on Google Books;我曾经多次看到,当对这个主题感兴趣时,它是 书。(事实上,我前段时间买过它,这是一个有趣的读物)< / em>的

顺便说一下,那本书的作者也是我链接的前四篇文章的作者; - )

答案 1 :(得分:10)

您实际上可以execute编译应用程序而无需任何API:

$output = exec('/path/to/yourapp');

除此之外,您总是可以编写PHP扩展。这里有一个很好的指南:http://devzone.zend.com/article/1021

答案 2 :(得分:6)

swig, the Simplified Wrapper and Interface Generator可以帮助您将(现有的)c ++包装到php模块中。

SWIG是一个软件开发工具,它将用C和C ++编写的程序与各种高级编程语言连接起来。 SWIG与不同类型的语言一起使用,包括常见的脚本语言,如Perl,PHP,Python,Tcl和Ruby。

答案 3 :(得分:1)

你还没有定义你想要做什么,但是如果你需要C ++接口,那么请查看源代码中的ext目录,以了解如何编写PHP扩展,然后可以从中加载和使用你的PHP脚本。

可能会有所帮助的几个链接:

http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/ http://devzone.zend.com/article/1021

答案 4 :(得分:0)

试过SWIG?对你的问题来说似乎是一个很好的解决方案!!

Unable to display HTML text in XtraGrid访问SWIG网页(虽然文档可能不太友好!)