28

今日、 MSDNで新しい .Net Native に関する記事を読みました。

「Windows ストア アプリは、.NET ネイティブで最大 60% 高速に起動し、メモリ フットプリントがはるかに小さくなっています。最初のリリースは、この新しいコンパイラを使用してアプリを開発およびテストできる Developer Preview です。この .NET Native のプレビュー リリースでは、 C# の生産性を備えた C++ のパフォーマンス」.

もちろん、これは非常に興味深いことですが、.Net Native が優れたパフォーマンスを提供する新しいコンパイラである場合、なぜ RyuJIT を使用する必要があるのでしょうか。この新しい .Net Native とは何ですか? 新しい .Net Native と RyuJIT の違いは何ですか。また、Microsoft は Roslyn と呼ばれるサービスとしてコンパイラをリリースしました。では、Roslyn がこの新しい .Net Native をどのようにサポートするかについて説明します。

4

1 に答える 1

24

.NET ネイティブ自体は、Roslyn プロジェクトの一部ではありません。Roslyn は、C# および VB のコンパイラと言語サービスを再実装したものです。これらのコンパイラはマネージ アセンブリを生成することに注意してください。実行するには、プラットフォーム固有のコードに変換する必要があります。これは通常、.NET ランタイムの JIT コンパイラを介して行われます。

.NET ネイティブを使用すると、NGEN と同様に .NET プロジェクトをネイティブ バイナリに変換できますが、重要な違いがいくつかあります。.NET ネイティブは、NGEN とは異なるネイティブ コンパイラ部分を使用し、一般的に高速で小さいコードを生成します。また、通常の .NET アプリでは利用できない一種の静的リンクも可能です。

于 2014-04-04T16:26:00.667 に答える