1

初心者です...同じscalaプログラムに.NET LINQとさまざまなJavaフレームワークを組み込んだ1つのプログラムを作成できますか? または、コンパイルすると、その時点で.NETまたはJavaのいずれかが決定されます

ありがとう。

4

1 に答える 1

7

Scalaをコンパイルするときは、-target:msilまたは-target:jvm-XX(デフォルトはjava)のいずれかを指定します。これは、何かをクロスコンパイル可能にすることを試みることができることを意味します(これは両方のターゲットで機能しますが、それぞれに対して別々にコンパイルする必要があります)。

関数が境界を越えて両方のフレームワークを同時にホストしようとすると、技術的には可能ですが、非常に困難であり、コンパイラーとランタイムの両方のレベルで完全なサポートが必要になります。

Scalaはどちらか一方のランタイムで動作するため、これがうまく機能する可能性はほとんどなく、それを達成する能力を持っている人が気になる可能性はほとんどありません。また、さまざまな.Netタイプには、jvmに類似したものがなく、その逆もあります。

このようなシステムで両方のランタイムにわたってGCルートを正しく効率的に維持することは、それを実装することは言うまでもなく、抽象的に博士論文に値するトピックになります。

于 2009-01-26T17:36:56.727 に答える