1

ファイルDLLを作成する方法。すべての言語開発者がそれを使用できると思います。C++を使用して作成した場合、言語.Netはそれを使用できます。しかし、JAVAはどうですか??? といくつかの他の言語

4

2 に答える 2

5

他のプラットフォームや言語で使用できる DLL を作成する唯一の保証された方法は、静的 C 関数をエクスポートする言語/プラットフォームを作成することです。最も簡単な方法は、C および C++ で直接記述することですが、他の言語でも可能です。そうすれば、C、C++、.NET/C#/VB ( DllImportP/Invoke を使用)、および Java (JNI を使用) から呼び出すことができます。他の言語も C 関数のインポートをサポートしています。

(通常) クラスやその他の型をエクスポートすることはできません。C 関数が構造体を使用する場合は、DLL のコンシューマーが使用できるように、それらをヘッダー ファイルまたはその他の定義に文書化する必要があります。

COM (インターフェイスやその他の型のエクスポートをサポートする) や新しい WinRT メタデータ形式など、他のアプローチもありますが、これは新しいものであり、広く展開されていません。そして、COM は痛みの練習です。

于 2013-03-18T04:07:54.207 に答える
-4

C#、C、および C++ 以外の Java およびその他の言語は、C コードとして作成された dll を使用できません。Java 仮想マシンを使用してジャストインタイム バイトコードを実行する Java と、インタプリタを使用する Ruby/Python/その他のスクリプト言語など、これらはまったく異なる言語です。実際、dll 自体は C/C++/C# の一部にすぎません。Microsoft が互換性を意図しているため、C# のみが C/C++ dll を使用できます。

一方、ラッパーを作成して、作成したコードを他の言語で使用できるようにすることもできます。

于 2013-03-18T04:07:33.660 に答える