我读了很多关于Facebook的PHP HipHop项目,但有一件事我似乎不明白(我没有64位的机器来测试HipHop ),那就是人们是否可以将HipHop简单地用作项目转换工具,而不仅仅是编译二进制文件。
从本质上讲,如果有人如此倾向于尝试使用HipHop将PHP CLI应用程序转换为C++,那么将来是否有可能只使用C++来维护它,而不是每次都使用HipHop?
发布于 2011-12-05 20:30:42
我希望自动翻译的代码比手写代码更难维护。它将由计算机生成,这样你就可以在许多地方摆脱像循环这样的东西。很多东西可能不是最优的(直接翻译不能总是适应习惯用法),经过一段时间的手动调整后,它将是一种混合的风格(自动生成和手写),这将是维护的噩梦。
本质上,您应该将此C++代码视为常规编译后的二进制代码。你会稍微调整一下来添加新的功能吗?不,您需要编辑源代码,然后重新编译它。这也是你在这里应该做的。C++被生成并且是一个中间表示。它是用人类可读的语言编写的,这一事实不应该诱使您修改它。
发布于 2011-12-05 21:34:28
HipHop生成的源C++完全可以修改。人们确实使用HipHop来做这件事。在HipHop生成的C++上进行大量扩展是没有意义的,因为它不像手工编写的代码那样容易遵循(或接近于高效),但对于小的更改(可能是优化),它是可以做到的。
此外,如果您想将HipHop脚本转换为C++,也可以使用PHP生成一个库,然后可以完全重写该库。您可以从查看HipHop生成的代码开始,帮助您手动重写整个代码。
https://stackoverflow.com/questions/8385255
复制相似问题