什么是Neko呢?

时间:2013-02-12 06:43:00

标签: haxe neko

我已经开始使用Haxe将我的ActionScript 3项目转换为NME,但是,我想知道Neko在Linux世界中是什么?我搜索了它,发现它是一只动画猫!

任何人都可以向我解释一下吗?

3 个答案:

答案 0 :(得分:54)

对大多数人来说,{p> Neko只不过是一个Haxe目标。这在技术上并不正确(它确实有自己的语言,并且可能成为其他语言的目标),但对于大多数人来说,Neko是Haxe输出目标之一。

同样,Java虚拟机(JVM)可以从多种语言中定位(参见wikipedia上的列表),Neko是一种字节码格式,理论上可以从多种语言编写。然而,对于Neko,大多数人似乎使用Haxe来创建他们的* .n文件。

对于Haxe程序员,Neko目标可以让你:

  • 编写命令行工具和实用程序(例如,haxelib和haxedoc是用Haxe编写的,目标是Neko)
  • 编写网页应用程序或动态网页 - 使用mod_neko(或mod_tora),您将获得一个与PHP具有相同功能的Web处理器,但速度要快一些。
  • 使用NME(最初以Neko开头,它代表Neko Media Engine)创建游戏,并快速编译它们,使目标更接近CPP,但编译速度更快,输出是跨平台的。
  • 与Haxe紧密相关的运行时,可以在宏中使用 - 所以你可以在宏中使用所有的neko。*类。

如果你只对目标SWF或JS感兴趣,你可能不太需要Neko。但是如果你正在编写服务器端代码,那么你会欣赏它的性能,如果你正在编写CPP,你可能会喜欢有一个简单的目标,这个目标很简单,编译速度非常快,而且其行为类似于CPP。

当然,除了Haxe neko之外它是它自己的语言......但至少对我来说,似乎大多数人只是将它与Haxe一起使用。

更多信息:

如果您想用Neko语言编写(请参阅this tutorial),您可以将代码保存为“myfile.neko”并使用nekoc myfile.neko进行编译,这将编译一个Neko字节码文件“myfile。 N”。

如果您想使用Haxe语言编写,可以将文件保存为“MyFile.hx”并使用“haxe -neko myfile.n -main MyFile”进行编译。

由这两者生成的“myfile.n”没有人类可读的源代码 - 这是Neko字节码。您可以通过运行neko myfile.n在安装了Neko的任何计算机上运行它。您可以通过运行nekotools boot myfile.n将其转换为适用于您的平台/操作系统的可执行文件(在没有安装Neko的情况下运行)。

这是一个关于Getting Started With Neko的教程,它涵盖了您编写的命令行程序和(非常非常基本的)网页。

答案 1 :(得分:10)

"ネ"是"cat"的日语,这可能就是你找到你所做的事情的原因。

Neko也是一个虚拟机(" VM"),如Java虚拟机(" JVM")或.Net公共语言运行时(") ; .Net CLR")。

Neko有一种自定义高级语言,作为一种易于定位的语言后端(在某种程度上类似于C--,但不像LLVM那样更接近汇编语言)。换句话说:它是一种可以翻译成编程语言的东西,而不是一种更具参与性的完整的"编译(比如汇编,字节码或机器代码)。 Neko的语言可以翻译成字节码,该字节码是便携式的,通常存储在" .n"文件。

Neko是由Nicolas Cannasse(制作Haxe编程语言的人)制作的,这可能是Haxe在编译器中有Neko目标的原因,以及Haxe工具,例如" haxelib"用它。因为工具被编译成" .n"文件,它们只需要构建一次,然后它们可以在任何具有VM可执行文件的平台上工作" neko"安装。

关于neko可能更有趣一点,为什么你应该为Haxe开发学习它是它用于编译时宏的运行时。请参阅this tutorial,了解如何在编译时运行部分程序并完全访问构建计算机,这意味着您甚至可以在编译时执行复杂的任务,例如解析数据文件。

答案 2 :(得分:6)

  

Neko为几种不同的语言提供了一个通用的运行时,包括javascript和haxe。编译器将源文件(.neko)转换为可以与虚拟机一起执行的字节码文件(.n)。您可以将编译器用作与虚拟机分离的独立命令行可执行文件,或者作为neko库来执行交互式语言的编译和运行。 neko由nicolas cannasse撰写。

你可以找到Neko Tutorial here