我只是在查看 Haxe 3.2.0-rc.2 的更改日志,并在新功能列表的末尾找到了这个:
cpp : inititial implementation of cppia scripting
谁能告诉我这是什么意思?我可以说它与 C++ 有关,但谷歌搜索这与编程/脚本无关,除非您计算与 Haxe 相关的结果。
我只是在查看 Haxe 3.2.0-rc.2 的更改日志,并在新功能列表的末尾找到了这个:
cpp : inititial implementation of cppia scripting
谁能告诉我这是什么意思?我可以说它与 C++ 有关,但谷歌搜索这与编程/脚本无关,除非您计算与 Haxe 相关的结果。
Cppia(读作“sepia”)是 Haxe 的 C++ 目标的一个新部分。从最基本的意义上说,它是 hxcpp 的“脚本”语言,无需使用 C++ 编译器即可编译和运行。一些官方文档可以在这里找到:
为了编译为 cppia,您需要修改您的 hxml 构建文件。在您的构建中添加一个-D cppia
标志并将输出更改为具有.cppia
扩展名。这是一个例子。
-cpp out.cppia # the cppia output file
-main Main # your Main.hx file
-D cppia # this enables cppia compilation
完成此操作后,您可以像平常一样使用 Haxe 编译 hxml 文件。它将为您提供一个名为的文件out.cppia
,然后可以使用命令通过 hxcpp 运行该文件haxelib run hxcpp out.cppia
。这种方法的一个缺点是,如果不构建自己的 cppia 主机,就无法使用本机扩展。因此,如果您需要使用 OpenFL 或 Kha 运行某些东西,则必须等到它们支持 cppia。
根据我发现的信息,听起来 cppia 的运行速度与 Neko JIT 一样快。考虑到编译时间同样快,我可以看到这将成为未来 neko 目标的一个很好的替代品。
更多信息可以在创建者 Hugh Sanderson 在 WWX 2015 上的演讲幻灯片中找到。
一个简短的搜索只指出了一些 IRC 日志。其中一些是有用的。
似乎它是 Haxe 代码的一种特定输出格式,旨在用于开发以快速修改代码。比如说,在开发游戏时,每次进行最细微的更改时都需要重新编译和重新部署应用程序,这确实会减慢您的进度。人们报告这是 iOS 开发的一个问题。
Cppia 似乎使用特定的代码格式和基于 SLJIT 的 JIT 编译器来解决这个问题(在 hxcpp repo 中找到)。大概(我从上面引用的日志中得出结论),它允许您在运行时修改应用程序的某些部分。
也就是说,cppia 作为一种语言可能不是直接使用的,而是由编译器生成的。
这些是我能想到的最有力的线索,我肯定会遗漏一些细节。但由于该功能相当新,这些细节现在甚至可能不为人所知。