有没有工具将PHP内置函数转换为c实现?

时间:2010-02-20 19:49:16

标签: php c converter

我很好奇一些内置函数是如何实现的,但是直接在源代码中查找它是非常耗时的,是否有可以自动执行此操作的工具?

修改

或者是否有可以调试到实际执行的c代码的工具?

3 个答案:

答案 0 :(得分:1)

可以从PHP访问的大多数(全部?)函数都是在PHP源代码的ext /目录下定义的。如果您有一个递归搜索工具,请搜索PHP_FUNCTION - 如果您将该搜索的结果保存到文本文件中,那么找出PHP内置函数的定义将是一个非常好的“索引”。

真正核心的东西是分机/标准。

一些罕见的“函数”直接作为PHP编译的Zend虚拟机中的操作码实现,因此没有明确定义的C函数。我认为strlen就是这样一个功能。

答案 1 :(得分:0)

关于调试已执行的C代码,我想可以使用dbg之类的东西;但是,您首先必须使用--enable-debug模式重新编译PHP。

有关更多信息,您可以查看:


我从来没有用它来调试PHP本身,但是我已经使用这两个页面来生成一些带有扩展的崩溃的回溯,并且从我记忆中它运行正常。


作为旁注:使用使用--enable-debug编译的PHP,您可能必须重新编译一些正在使用的扩展并更改它们的加载方式(例如Xdebug的情况)< / em>;而其他一些可能根本就不起作用了。

答案 2 :(得分:-1)

我相信你应该看看this Facebook开发了一种将PHP代码转换为c ++的工具 所以我想它在某种程度上也可以处理C.