dポイントプレゼントキャンペーン実施中!

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

A 回答 (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_s …
http://www.koders.com/
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/10/30 15:12

ものによっては,Visual J#用のアセンブリを参照設定することで可能です。


# Zipの圧縮・展開に使われることのある方法です。

その範囲外の物に関しては,不可能です。
具体的にどのAPIかを示せば,別解があるかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
まずは開発ようとして標準のJavaAPIとして、Sunの
「JavaTM Platform, Standard Edition 6」からさがしています。

/////////////////
ものによっては,Visual J#用のアセンブリを参照設定することで可能です。
# Zipの圧縮・展開に使われることのある方法です
////////////////
↑出来れば教えて下さい。

お礼日時:2009/10/30 08:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!