• ベストアンサー

C#でJavaAPIを使用方法

C#でJavaのAPIをそのまま使用できる方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ninoue
  • ベストアンサー率52% (1288/2437)
回答No.2

直接利用することは不可能です。 C,C#等で作成したプログラムは、コンパイラで各マシン(Intel:ia-32/ia64系、PowerPC系、Intel:Itanium系)固有の機械語に対応したコードが出力され、その系統のマシン固有の入出力等のランタイムパッケージと組合わせて実行します。 一方JAVAはコンパイラでマシン系に独立の中間コードが出力され、マシン独立の中間コードランタイムパッケージ(数学演算パッケージ等)と、マシン固有の中間コード解読ルーチンで実行時にマシン固有のコードに変換され(Virtual Machineによる)、マシン固有コードのI/Oルーチン等とが組み合わされて実行されます。 以上のようにコンパイル出力コード:実行方式が異なるので、簡単に組合わせて実行する事は通常難しいです。 Java側から中間に皮サブを介して、サブルーチンの入出力パラメータの型式変換等を(必要な場合)行って呼ぶ事は可能です。 但し、オーバーヘッドが大きい、サブルーチンコールのコーディングが複雑になるなどで、かなり大きな機能単位のパッケージを呼ぶ場合にしか有効でありません。 C,C#側からJava側を呼ぶ事は、サブルーチン的な使い方では不可能です。 以下によりソースコードのサーチが可能ですから、Javaのサブルーチンに対応するC,C#等のソースが見つかるのではと思われます。 http://www.google.com/codesearch/advanced_code_search http://www.koders.com/

marugori
質問者

お礼

ありがとうございます。 参考URLを元に探してみます。

その他の回答 (1)

回答No.1

ものによっては,Visual J#用のアセンブリを参照設定することで可能です。 # Zipの圧縮・展開に使われることのある方法です。 その範囲外の物に関しては,不可能です。 具体的にどのAPIかを示せば,別解があるかもしれません。

marugori
質問者

お礼

ありがとうございます。 まずは開発ようとして標準のJavaAPIとして、Sunの 「JavaTM Platform, Standard Edition 6」からさがしています。 ///////////////// ものによっては,Visual J#用のアセンブリを参照設定することで可能です。 # Zipの圧縮・展開に使われることのある方法です //////////////// ↑出来れば教えて下さい。

関連するQ&A

専門家に質問してみよう