8

Mono がネイティブ クライアントのコンパイルをサポートするようになったことを示すプレス リリースを見つけました。これが個別の github mono fork からのみ利用できるのか、それとも標準ディストリビューションの一部としてのみ利用できるのかは不明です。

フォークされた mono ディストリビューションをビルドしましたが、Chrome で実行できるようにネイティブ クライアント実行可能ファイルをビルドする方法の例を見つけることができませんでした。

サンプル プロジェクトを知っている人はいますか、または NaCl 用の Mono アプリケーションを構築する方法の例を提供できますか?

4

3 に答える 3

4

一部の変更はアップストリームされた可能性があると思いますが、今日 (11/16/11) の時点で、まだ github フォーク ( https://github.com/elijahtaylor/mono/ ) にのみ残っているバグ修正が確実に存在します。nacl 用に mono をビルドするには、mono/nacl ディレクトリ ( https://github.com/elijahtaylor/mono/tree/master/nacl ) の手順に従います。nacl モジュールに組み込むことができ、.NET アセンブリを JIT コンパイルできる mono をビルドする mono ランタイムが必要です。(linux/mac で実行され、nacl モジュールを生成する mono AOT コンパイラもありますが、誰も使用またはテストしていないため、現在は機能しないと確信しています)。

nacl モジュールから mono ランタイムを呼び出して JIT コードにする方法の例については、nacl/test/my.c および mono/mini/fsacheck.c を参照してください。ブラウザ内で、nacl モジュールにバイトコードを取得する独自の方法 (pepper や nacl-mounts など) を考え出す必要があります。

于 2011-11-16T19:17:27.690 に答える
3

2012 年 3 月のこの投稿は、Chrome 19 がEmbedded Monoのネイティブ クライアントをサポートしていることを示しています。

ネイティブ クライアント用の Mono のバージョンが、SDK でダウンロードできるようになりました。これらは glibc でコンパイルされ、libmono は動的ライブラリとして提供されます。モノを使用できるのは、pepper_19 以降のみです。

pepper_X と naclmono_X バンドルを同期させておく必要があることに注意してください (つまり、一方を更新せずに他方を更新しないでください)。特定の SDK に一致する Mono の新しいバージョンは、新しい SDK ビルドが利用可能になってから数時間以内に利用可能になるはずです。

現在、Native Client では組み込みの Mono のみがサポートされています (http://www.mono-project.com/Embedding_Mono)。

于 2012-09-07T02:56:52.353 に答える
3

Mono リポジトリにアップストリームされたかどうかはわかりませんが、ここに NaCl で実行されるフォークがあります: https://github.com/elijahtaylor/mono 注、自己責任で使用してください!

于 2011-10-28T13:49:25.647 に答える