我一直在考虑像HipHop和Haxe这样的源转换器。从他们各自的网站上,我看到这些工具将源语言转换为目标语言,然后使用目标语言的编译器生成最终的可执行文件。我感到困惑的部分是这些工具如何处理源语言是内存管理语言(PHP,Haxe lang)而目标语言是非内存管理语言(C / C++)的情况。我知道Mono在编译时添加了一个 VM 来处理这个问题。HipHop 和 Haxe 等工具有什么作用?我在哪里可以找到与该主题相关的编程语言/编译器文献中的文章?
谢谢。
Haxe 需要垃圾收集,它不仅仅是一个转换器,它还添加了目标语言所需的一切。C++ Target fe 将 Reflection、Garbage Collection 和其他种类的兼容性类添加到 C++ Runtime。这使您可以在所有平台上使用许多功能。
您可以在此处查看运行时文件。
最好尝试一下并查看生成的 c++ 代码。