「IKVM.NET」を編集中

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

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
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は過去に[[マイクロソフト]]が提供していた[[J Sharp|J#]]のような[[Java]]類似言語ではなく、[[OpenJDK]]をベースとした純粋な[[Java]]の[[仮想マシン]]([[Java VM]])が[[.NET]]の[[仮想マシン]]([[共通言語ランタイム]])上で動作するというものである。
 
  
IKVM.NETはあくまで実行環境のみであり、[[プログラミング言語]]としての[[コンパイラ]](javacコマンド)に相当するものは含まれていないため、[[プログラム]]自体の[[開発]]には[[Oracle]]などが提供する各種[[JDK]]を用いて行う必要がある。
+
また、IKVM.NETには[[Java]][[バイトコード]](classファイルおよびjarファイル)を[[.NET]][[マネージコード]](DLLファイル)に変換する[[コンパイラー]]などのJavaと.NETの相互運用のためのツールも含んでいる。なお[[プログラミング言語]]としてのJavaコンパイラー(javacコマンド)に相当するものは含まれていない。
  
なお、IKVM.NETには[[Java]]の[[バイトコード]]([[classファイル]]および[[jarファイル]])を[[.NET]]の[[マネージコード]]([[dllファイル]])に変換するツールは含まれている。そのほかにもIKVM.NET独自のJavaクラスライブラリなども含まれている。
+
そのほかに独自のJavaクラスライブラリなども含まれている。
  
 
== メリットとデメリット ==
 
== メリットとデメリット ==
19行目: 18行目:
  
 
== Javaバイトコードをネイティブコード化に変換する ==
 
== Javaバイトコードをネイティブコード化に変換する ==
IKVM.NET自体の機能ではないが、IKVM.NETを用いて[[Javaバイトコード]]を[[マネージドコード]]に変換したのち、[[Mono]]の[[AOTコンパイラ]]を用いて[[マネージドコード]]を[[ネイティブコード]]に変換することができる。
+
IKVM.NET自体の機能ではないが、IKVM.NETをもちいて[[Javaバイトコード]]を[[マネージドコード]]に変換したのち、[[Mono]]の[[AOTコンパイラ]]をもちいて[[マネージドコード]]を[[ネイティブコード]]に変換することができる。
  
なお、[[Mono]]の[[AOTコンパイラ]]で[[コンパイル]]すると、[[プログラム]]起動用の[[マネージドコード]]な[[exeファイル]]と、そこから呼ばれる[[ネイティブコード]]で出来た[[ダイナミックリンクライブラリ]](dllファイル)および[[共有ライブラリ]](soファイル)が生成される。[[プログラム]]の起動には[[Mono]]を必要とし、そこで実行環境を自動判別することでネイティブコードなのに[[Windows]]と[[Linux]]の切り替えを考える必要がないという構造になっている。
+
なお、[[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/
 
== 参考文献 ==
 
{{reflist}}
 
 
 
{{stub}}
 
{{stub}}

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: