Haxe 编译为 C++ 和 JS 源代码
Haxe compiling to C++ and JS source
我正在尝试用一种语言编写源代码并将其转换为原生 C++ 和 JS 源代码。理想情况下,转换后的源代码应该是人类可读的,并且尽可能类似于原始源代码。我希望 haxe 可以为我解决这个问题。所以我在 haxescript 中编写代码并将其转换为相应的 C++ 和 JS 源代码。但是,我发现的 haxe 示例似乎为您创建了最终应用程序。因此,对于 C++,它将使用 msbuild(或它找到的任何编译器)并从生成的 C++ 代码中为您创建最终的 exe。 haxe 是否也创建了 c++ 和 JS 源代码供您查看,或者所有这些都是在 haxe 内部完成的并且不可访问?如果它是可访问的,那么是否可以删除 haxe 的构建方面,以便它简单地创建源代码并停止?
谢谢
当您生成 CPP 时,所有中间文件都会生成并保存在您决定生成输出的任何位置(使用 -cpp pathToOutput
给出的路径)。您获得可执行文件的事实可能是因为您正在使用 -main
开关。这意味着你的应用程序的入口点,但这并不是真正需要的,你可以将一堆你想要在输出中构建的类型传递给命令行。
对于 JS,它非常相似,生成单个 JS 文件,如果您使用 -main
,它只有一个入口点。
关于另一个主题,您的 Haxe 代码是否与生成的代码相似?答案是肯定的,但是......某些类型(如 Enum
和 Abstract
)仅存在于 Haxe 中,因此他们将生成功能正常但看起来可能完全不同的代码。此外,Haxe 有一个永远在线的 optimizer/analyzer,它可能会以意想不到的方式破坏你的代码(分析器可以被禁用)。我仍然发现从生成的代码中找出 Haxe 源并不难。 JS 支持源映射,这对于调试非常有用。所以最后,Haxe 没有做任何事情来混淆你生成的代码,但也没有做太多的事情来尝试过于严格地保留它。
我正在尝试用一种语言编写源代码并将其转换为原生 C++ 和 JS 源代码。理想情况下,转换后的源代码应该是人类可读的,并且尽可能类似于原始源代码。我希望 haxe 可以为我解决这个问题。所以我在 haxescript 中编写代码并将其转换为相应的 C++ 和 JS 源代码。但是,我发现的 haxe 示例似乎为您创建了最终应用程序。因此,对于 C++,它将使用 msbuild(或它找到的任何编译器)并从生成的 C++ 代码中为您创建最终的 exe。 haxe 是否也创建了 c++ 和 JS 源代码供您查看,或者所有这些都是在 haxe 内部完成的并且不可访问?如果它是可访问的,那么是否可以删除 haxe 的构建方面,以便它简单地创建源代码并停止?
谢谢
当您生成 CPP 时,所有中间文件都会生成并保存在您决定生成输出的任何位置(使用 -cpp pathToOutput
给出的路径)。您获得可执行文件的事实可能是因为您正在使用 -main
开关。这意味着你的应用程序的入口点,但这并不是真正需要的,你可以将一堆你想要在输出中构建的类型传递给命令行。
对于 JS,它非常相似,生成单个 JS 文件,如果您使用 -main
,它只有一个入口点。
关于另一个主题,您的 Haxe 代码是否与生成的代码相似?答案是肯定的,但是......某些类型(如 Enum
和 Abstract
)仅存在于 Haxe 中,因此他们将生成功能正常但看起来可能完全不同的代码。此外,Haxe 有一个永远在线的 optimizer/analyzer,它可能会以意想不到的方式破坏你的代码(分析器可以被禁用)。我仍然发现从生成的代码中找出 Haxe 源并不难。 JS 支持源映射,这对于调试非常有用。所以最后,Haxe 没有做任何事情来混淆你生成的代码,但也没有做太多的事情来尝试过于严格地保留它。