我正在读某个地方,有时候PHP根本不够快,而且编译后的代码有时会“做得很重”
C ++中的api是做什么的?
答案 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网页(虽然文档可能不太友好!)