29

ActionScript 3 プロジェクトを NME に変換するために Haxe を使い始めましたが、Linux の世界で Neko とは何ですか? 探してみたら、動く猫だった!

誰でも私に説明してもらえますか?

4

3 に答える 3

59

ほとんどの人にとって、ネコはHaxeのターゲットにすぎません。これは技術的には正しくありません (独自の言語があり、他の言語のターゲットになる可能性があります) が、ほとんどの人にとって、Neko は Haxe の出力ターゲットの 1 つです。

Java 仮想マシン (JVM) を複数の言語からターゲットにできるのと同じように (ウィキペディアのリストを参照)、Neko は理論的には複数の言語から書き込むことができるバイトコード形式です。ただし、Neko の場合、ほとんどの人は Haxe を使用して *.n ファイルを作成しているようです。

Haxe プログラマーは、Neko ターゲットを使用して次のことができます。

  • コマンド ライン ツールとユーティリティを作成します (たとえば、haxelib と haxedoc は Neko を対象とする Haxe で作成されます)。
  • Web アプリケーションまたは動的 Web ページを作成します。mod_neko (または mod_tora) を使用すると、PHP と同じ種類の機能を備えた Web プロセッサを取得できますが、かなり高速です。
  • NME (元々は Neko で始まり、Neko Media Engine の略) でゲームを作成し、CPP が持っているものに近いターゲットを持ってすばやくコンパイルしますが、コンパイルははるかに高速で、出力はクロスプラットフォームです。
  • Haxe と密接に結びついており、マクロなどから使用できるランタイム - したがって、すべての neko.* クラスをマクロ内で使用できます。

SWF または JS をターゲットにすることにのみ関心がある場合は、おそらく Neko はあまり必要ないでしょう。しかし、サーバー側のコードを作成している場合はパフォーマンスが高く評価され、CPP を作成している場合は、非常に簡単でコンパイルが非常に高速で、CPP と同様に動作する単純なターゲットがあることが評価される場合があります。

もちろん、Haxe neko 以外は独自の言語です... しかし、少なくとも私には、ほとんどの人が Haxe と一緒に使用しているように見えます。

より詳しい情報:

Neko 言語 (このチュートリアルを参照) で書きたい場合は、コードを「myfile.neko」として保存しnekoc myfile.neko、でコンパイルすると、Neko バイトコード ファイル「myfile.n」がコンパイルされます。

Haxe 言語で書きたい場合は、ファイルを「MyFile.hx」として保存し、「haxe -neko myfile.n -main MyFile」でコンパイルします。

これらの両方によって生成される「myfile.n」には、人間が読めるソース コードがありません。これが Neko バイトコードです。を実行することにより、Neko がインストールされている任意のコンピューターで実行できますneko myfile.n。を実行することで、プラットフォーム/OS 用の実行可能ファイル (Neko がインストールされていなくても実行可能) に変換できますnekotools boot myfile.n

これは、 Getting Started With Nekoに関するチュートリアルです。これは、作成するコマンド ライン プログラムと (非常に基本的な) Web ページの両方をカバーしています。

于 2013-02-12T09:47:01.117 に答える
10

「ねこ」は日本語で「ねこ」を意味します。

Nekoは、Java 仮想マシン (「JVM」) や .Net 共通言語ランタイム (「.Net CLR」) のような仮想マシン (「VM」) でもあります。

Neko には、簡単に対象を絞った言語バックエンドとして作成されたカスタムの高水準言語があります (ある意味ではC--に似ていますが、アセンブリ言語に近いLLVMとは異なります)。言い換えれば、より複雑な「完全な」コンパイル (アセンブリ、バイトコード、マシン コードなど) ではなく、プログラミング言語を変換できるものです。Neko の言語は移植可能なバイトコードに変換でき、通常は「.n」ファイルに保存されます。

Neko は Nicolas Cannasse (Haxe プログラミング言語を作成したのと同じ人物) によって作成されました。これがおそらく、Haxe のコンパイラに Neko ターゲットがあり、「haxelib」などの Haxe ツールがそれを使用する理由です。ツールは「.n」ファイルにコンパイルされるため、一度ビルドするだけで、VM 実行可能ファイル「neko」がインストールされている任意のプラットフォームで動作します。

おそらく、neko についてもっと興味深い点があります。なぜ Haxe 開発のために neko を学ぶべきなのかというと、これはコンパイル時のマクロに使用されるランタイムだからです。ビルド マシンへのフル アクセスを使用してコンパイル時にプログラムの一部を実行する方法については、このチュートリアルを参照してください。つまり、コンパイル時にデータ ファイルの解析などの複雑なタスクを実行することもできます。

于 2014-09-16T11:01:38.497 に答える
6

Neko は、javascript や haxe など、いくつかの異なる言語に共通のランタイムを提供します。コンパイラは、ソース ファイル (.neko) を、仮想マシンで実行できるバイトコード ファイル (.n) に変換します。仮想マシンから分離されたスタンドアロンのコマンドライン実行可能ファイルとしてコンパイラを使用するか、対話型言語のコンパイルと実行を実行する neko ライブラリとしてコンパイラを使用できます。neko は nicolas cannasse によって書かれました。

ここでネコのチュートリアルを見つけることができます

于 2013-02-12T06:46:37.790 に答える