我已经阅读了很多关于Facebook的PHP HipHop项目,但有一件事我似乎无法弄清楚(我没有64位机器来测试HipHop on)是否可以使用HipHop作为项目转换工具,而不仅仅是编译二进制文件。
基本上如果有人倾向于尝试使用HipHop将PHP CLI应用程序转换为C ++,那么将来是否可以在C ++中维护它,而不是每次都必须使用HipHop?
答案 0 :(得分:3)
我希望自动翻译的代码比手写代码更难维护。它将由计算机生成,因此您可以在许多地方摆脱诸如循环之类的事情。许多事情可能是次优的(直接翻译不能总是适用于成语),并且经过一段时间的手动调整后,它将是一种风格(自动生成和手写)的混合,这将成为维护的噩梦。
基本上,您应该在常规编译之后将此C ++代码视为二进制文件。您是否会对此进行调整以添加新功能?不,您编辑源代码然后重新编译它。这也是你应该在这里做的。 C ++是生成的和中间表示。它是人类可读语言的事实不应该诱使你修改它。
答案 1 :(得分:1)
HipHop生成的源C ++完全能够被修改。人们确实使用HipHop。在HipHop生成的C ++上进行大量扩展是没有意义的,因为它不像手写代码(或任何接近高效的代码)那么容易,但是对于小的改变(可能是优化),它可以完成。
如果你想将PHP脚本转换为C ++,也可以使用HipHop生成一个基础,然后你可以完全重写它。您可以从查看HipHop生成的代码开始,帮助您手动重写整个内容。