什么是 cppia 脚本?

What is cppia scripting?

我只是在查看 Change Log for Haxe 3.2.0-rc.2 并在 新功能 列表的末尾找到了这个:

cpp : inititial implementation of cppia scripting

谁能告诉我这是什么意思?我可以说它与 C++ 有关,但谷歌搜索这与 programming/scripting 无关,除非你计算与 Haxe 相关的结果。

简单搜索了一下,只指出了一些IRC日志。 Some of them 有用。

它似乎是一种特定的 Haxe 代码输出格式,旨在用于快速修改代码的开发中。比如说,在开发游戏时,每次进行最细微的更改都需要重新编译和重新部署您的应用程序,这确实会减慢您的进度。人们报告这是 iOS 开发的问题。

Cppia 似乎使用特定的代码格式和基于 SLJIT 的 JIT 编译器(在 hxcpp 存储库中找到)来解决这个问题。据推测(我从上面引用的日志得出结论),它允许您在运行时修改应用程序的某些部分。

也就是说,cppia 作为一种语言可能无法直接使用,而是由编译器生成的。

这些是我能想到的最有力的线索,我肯定遗漏了一些细节。但由于该功能还很新,这些细节现在可能还不知道。

Cppia(发音为 "sepia")是 Haxe 的 C++ 目标的新部分。在最基本的意义上,它是一种用于 hxcpp 的 "scripting" 语言,可以在不使用 C++ 编译器的情况下进行编译和 运行。一些官方文档可以在这里找到:

Getting started with Haxe/Cppia

为了编译为 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 的文件,然后可以使用命令 haxelib run hxcpp out.cppia 通过 hxcpp 运行。这种方法的一个缺点是,如果不构建您自己的 cppia 主机,就无法使用本机扩展。因此,如果您需要 运行 使用 OpenFL 或 Kha 的东西,您必须等到它们支持 cppia。

根据我发现的信息,cppia 运行s 听起来和 Neko JIT 一样快。考虑到编译时间同样快,我认为这将成为未来 neko 目标的一个很好的替代品。

可以在创作者休·桑德森 (Hugh Sanderson) 在 WWX 2015 上的演讲幻灯片中找到更多信息。

http://gamehaxe.com/wwx/wwx2015.swf