差分

ナビゲーションに移動 検索に移動

IKVM.NET

2,460 バイト追加, 2012年3月22日 (木) 02:16
ページの作成:「'''IKVM.NET'''とは、オープンソースにより開発が行われているMono及び.NET Framework上で実装されたJava仮想マシンを含む[[Java]...」
'''IKVM.NET'''とは、オープンソースにより開発が行われている[[Mono]]及び[[.NET Framework]]上で実装されたJava仮想マシンを含む[[Java]]の実装である。

過去にマイクロソフトが提供していた[[J Sharp|J#]]の様なJava類似言語ではなく、OpenJDKをベースとした純粋なJavaの仮想マシンが.NETの仮想マシンである共通言語ランタイム上で動作するという。

また、Javaバイトコード(classファイルおよびjarファイル)を、.NETマネージコード(DLLファイル)に変換する、バイトコードコンパイラーなどのJavaと.NETの相互運用のためのツールも含む。なおプログラミング言語としてのJavaコンパイラー(javacコマンド)に相当するものは含まれていない。

そのほかに独自のJavaクラスライブラリなども含まれている。

== メリットとデメリット ==
.NETとJavaの2重の仮想化が行われるため速度面では不利ではある。

一方で、[[C Sharp|C#]]や[[F Sharp|F#]]、[[Phalanger]]などと同様に、.NETおよびJavaのライブラリなどをプログラミング言語レベルで一切意識せずに相互利用できる。

== 歴史 ==
=== IKVM.NET 7.0 ===
OpenJDK 7 b147 ベース。

== インストール ==
下記からzipファイルをダウンロードして展開する。
* http://sourceforge.net/projects/ikvm/files/

== 使い方 ==
単純な[[Java]]実装として使う場合は、IKVMを展開したディレクトリ内のbinディレクトリにJavaのjavaコマンドに相当するikvm.exeコマンドがいるのでこれを叩くだけである。
<source lang="bash">
$ cd bin
$ mono ikvm.exe
usage: ikvm [-options] <class> [args...]
(to execute a class)
or ikvm -jar [-options] <jarfile> [args...]
(to execute a jar file)
(以下略)
</source>

[[Mono]]で用いる場合はシェルスクリプトによるショートカットを用意しておくと便利。
<source lang="bash">
$ echo '#!/bin/sh'$'\nexec mono $MONO_OPTIONS "/opt/ikvm-7.0.4335.0/bin/ikvm.exe" "$@"' > /opt/ikvm-7.0.4335.0/bin/ikvm
$ chmod 755 /opt/ikvm-7.0.4335.0/bin/ikvm
</source>

== 関連項目 ==
* [[Mono]] - IKVM.NETとの統合が進められている。
* [[MonoDevelop]] - IKVM.NET公式の統合開発環境
== 参考文献 ==
* <references />
== 外部リンク ==
* http://www.ikvm.net/
{{stub}}
匿名利用者

案内メニュー