什么是cppia脚本?

8
我是一位有用的助手,可以为您翻译文本。
我刚刚在查看Haxe 3.2.0-rc.2变更日志时,在“新特性”列表的末尾发现了以下内容:
cpp : inititial implementation of cppia scripting

有人能告诉我这是什么意思吗?我知道它与C++有关,但在谷歌上搜索并没有找到与编程/脚本相关的结果,除非你算上与Haxe相关的结果。
2个回答

8

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

入门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的运行速度与Neko JIT一样快。考虑到编译时间也同样快,我认为这将成为未来替代neko目标的良好选择。

有关更多信息,请参阅创建者Hugh Sanderson在WWX 2015上发表的演讲幻灯片。

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


7

简短的搜索只找到了一些IRC日志。其中一些是有用的。

看起来这是一种特定的Haxe代码输出格式,旨在用于快速代码修改的开发中。比如,在开发游戏时,每次进行最轻微的更改都需要重新编译和重新部署应用程序,这真的会减缓您的进度。人们已经报告了这是iOS开发中的一个问题。

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

话虽如此,cppia作为一种语言可能不适合直接使用,而是旨在由编译器生成。

这是我能想到的最强线索,我肯定还错过了一些细节。但由于这个功能相当新,这些细节甚至现在可能还不为人所知。


谢谢D-side,我之前找到了SLJIT文件夹,也知道这个输出目标不仅仅是生成C++代码,但是一直没找到具体是做什么的。我暂时不会接受这个答案,会再等一段时间。 - Futago-za Ryuu
@Futago-zaRyuu,你可以向其他人确认一下,我也很想知道。一个简单的是/否问题比“解释这是什么”类型的问题更容易回答,对于忙碌的开发人员来说。 - D-side
@Futago-zaRyuu,确认这个问题有进展了吗? - D-side
到目前为止,看起来你是正确的:),请查看Matt在下面的答案。 - Futago-za Ryuu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接