2015-05-02 57 views
6

我只是看在更改日志部分在http://haxe.org/download/version/3.2.0-rc.2/,发现这在新功能列表末尾:什么是cppia脚本?

cpp : inititial implementation of cppia scripting 

谁能告诉我这是什么意思?我可以告诉它它与C++有关,但是除非您计算Haxe相关的结果,否则这不会涉及编程/脚本。

+1

那么也许你应该问HAXE作者?不知道你期望我们在这里做什么。 –

+0

@Lightness在轨道上跑:因为它对[haxe-repo/CONTRIBUTING.md](https://github.com/HaxeFoundation/haxe/blob/development/CONTRIBUTING.md)说 –

+0

咦?它说什么?该页面上没有任何内容似乎与我所说的相关! –

回答

6

Cppia(发音为“sepia”)是Haxe的C++目标的新部分。对此没有任何官方文档,这就是为什么很难找到关于它的信息的原因。从最基本的意义上讲,它是一种“脚本”语言,可以在不使用C++编译器的情况下编译和运行hxcpp。

为了编译到cppia你需要修改你的hxml构建文件。将-D cppia标志添加到您的版本中,并将输出更改为.cppia扩展名。这是一个例子。

-cpp out.cppia # the cppia output file 
-main Main  # your Main.hx file 
-D cppia  # this enables cppia compilation 

当你这样做后,你编译hxml文件就像正常与Haxe。它会给你一个名为out.cppia的文件,然后可以使用命令haxelib run hxcpp out.cppia通过hxcpp运行。这种方法的一个缺点是没有建立你自己的cppia主机就无法使用本地扩展。因此,如果您需要使用OpenFL或Kha运行某些内容,则必须等到它们支持cppia。

根据我发现的信息,听起来像cppia运行速度与neko jit一样快。考虑到编译时间同样快,我可以看到这将成为未来对neko目标的一个很好的选择。

其他信息可以在幻灯片从创建者,休·桑德森给予谈话可以发现,在2015年,合晶科技

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

+1

NME也可以和cppia一起使用! https://github.com/nmehost/acadnme – Momer

5

一个简短的搜索只能指出一些IRC日志。 Some of them有用。

它似乎是Haxe代码的特定输出格式,专门用于快速代码修改的开发。比如,开发一款游戏时,每次进行细微改动时都需要重新编译和重新部署应用程序,这实际上会减慢进度。人们已经报告这是iOS开发的一个问题。

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

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

这些是我可以提出的最强的线索,我肯定错过了一些细节。但由于该功能非常新颖,所以现在甚至可能不知道这些细节。

+0

感谢D方,我在之前找到了SLJIT文件夹,并立即知道生成C++的东西正在使用此输出目标,但无法找到答案。我不会接受这个知道的答案,在做这个之前会等一会 –

+0

@ Futago-zaRyuu你可以问别人一个确认,我也很好奇。对于忙碌的开发者来说,简单的是/否问题比“解释这是什么”类型更容易回答。 –

+0

@ Futago-zaRyuu在确认这方面有什么进展? –