「IKVM.NET」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
'''IKVM.NET'''とは、[[オープンソース]]により開発が行われている[[Mono]]及び[[.NET Framework]]上で実装された[[Java仮想マシン]](Java VM)を含む[[Java]]の実装である。 | '''IKVM.NET'''とは、[[オープンソース]]により開発が行われている[[Mono]]及び[[.NET Framework]]上で実装された[[Java仮想マシン]](Java VM)を含む[[Java]]の実装である。 | ||
− | + | 過去に[[マイクロソフト]]が提供していた[[J Sharp|J#]]のようなJava類似言語ではなく、[[OpenJDK]]をベースとした純粋な[[Java]]の[[仮想マシン]]([[Java VM]])が[[.NET]]の[[仮想マシン]]([[共通言語ランタイム]])上で動作するという。 | |
− | |||
− | + | また、IKVM.NETには[[Java]]の[[バイトコード]](classファイルおよびjarファイル)を[[.NET]]の[[マネージコード]](DLLファイル)に変換する[[コンパイラー]]などのJavaと.NETの相互運用のためのツールも含んでいる。なお[[プログラミング言語]]としてのJavaコンパイラー(javacコマンド)に相当するものは含まれていない。 | |
− | + | そのほかに独自のJavaクラスライブラリなども含まれている。 | |
== メリットとデメリット == | == メリットとデメリット == | ||
16行目: | 15行目: | ||
== 主な利用方法 == | == 主な利用方法 == | ||
== Javaバイトコードを.NETマネージドコードに変換する == | == Javaバイトコードを.NETマネージドコードに変換する == | ||
− | IKVM. | + | IKVM.NETのikvmcをもちいて[[Javaバイトコード]]を[[マネージドコード]]に変換できる。 |
== Javaバイトコードをネイティブコード化に変換する == | == Javaバイトコードをネイティブコード化に変換する == | ||
− | IKVM.NET自体の機能ではないが、IKVM. | + | IKVM.NET自体の機能ではないが、IKVM.NETをもちいて[[Javaバイトコード]]を[[マネージドコード]]に変換したのち、[[Mono]]の[[AOTコンパイラ]]をもちいて[[マネージドコード]]を[[ネイティブコード]]に変換することができる。 |
− | なお、[[Mono]]の[[AOTコンパイラ]]で[[コンパイル]]すると、[[プログラム]]起動用の[[マネージドコード]] | + | なお、[[Mono]]の[[AOTコンパイラ]]で[[コンパイル]]すると、[[プログラム]]起動用の[[マネージドコード]]なexeファイルと、そこから呼ばれる[[ネイティブコード]]で出来た[[ダイナミックリンクライブラリ]](dllファイル)および[[共有ライブラリ]](soファイル)が生成されるので、[[プログラム]]の起動には[[Mono]]を必要とする。このおかげでネイティブコードなのにWindowsとLinuxの切り替えを考える必要がない。 |
== 歴史 == | == 歴史 == | ||
44行目: | 43行目: | ||
[[Mono]]で用いる場合は[[シェルスクリプト]]による[[ショートカット]]を用意しておくと便利。 | [[Mono]]で用いる場合は[[シェルスクリプト]]による[[ショートカット]]を用意しておくと便利。 | ||
− | |||
<source lang="bash"> | <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 | $ echo '#!/bin/sh'$'\nexec mono $MONO_OPTIONS "/opt/ikvm-7.0.4335.0/bin/ikvm.exe" "$@"' > /opt/ikvm-7.0.4335.0/bin/ikvm | ||
53行目: | 51行目: | ||
* [[Mono]] - IKVM.NETとの統合が進められている。 | * [[Mono]] - IKVM.NETとの統合が進められている。 | ||
* [[MonoDevelop]] - IKVM.NET公式の統合開発環境 | * [[MonoDevelop]] - IKVM.NET公式の統合開発環境 | ||
+ | == 参考文献 == | ||
+ | <references /> | ||
== 外部リンク == | == 外部リンク == | ||
* http://www.ikvm.net/ | * http://www.ikvm.net/ | ||
− | |||
− | |||
− | |||
− | |||
{{stub}} | {{stub}} |