在PHP中使用C / C ++代码而无需编写扩展

时间:2011-11-06 23:59:35

标签: php c++ c php-extension

我读过可以通过编写扩展来在PHP中使用C / C ++代码。有没有更简单的方法,比如包装魔法或类似的东西(我必须说,我听到了这个词,但对包装器的内容并不了解)。

5 个答案:

答案 0 :(得分:4)

编译php扩展并不是很难。有一些API可供学习,就像C程序有主要功能以及如何将变量传递给main函数。

答案 1 :(得分:4)

没有。

PHP解析PHP而非C或其后代,如C ++

如果你想在PHP中包含C代码,就像用C编写的某些函数那么它必须在扩展中调用,并且必须进行编译。

包装器是代码周围的代码。您使用的大多数语言(如Delphi,Vb等)都已创建本机代码,然后调用外部API函数,并在此过程中处理所需的任何类型转换或参数修复。

答案 2 :(得分:3)

在PHP代码中编写C或C ++是不可能的。你可以去的唯一方法是为PHP编写扩展。或者,您可以查看HipHop-PHP,它将任何PHP代码转换为高度优化的C ++代码(由Facebook开发)。

答案 3 :(得分:3)

在同类中,tcc可以用作C语言解释器。你可以安装它,然后从PHP发送一个C程序:)

$output = `echo -e '#include <stdio.h>\nint main(void) { printf("Hello, World!\\n"); return 0;}' | tcc -run -`;

答案 4 :(得分:1)

根据您的目的,您可以将代码编译成可执行文件,然后在PHP中启动它,例如通过exec-function

如果这还不够,我恐怕你不得不考虑创建一个扩展 - 但如果你已经知道c或c ++,那就没那么难了。