0

Javaアプリケーションで使用するdllドライバーがあります。JNI用のdllブリッジを作成する必要があることを読みました。まず、この橋を自動的に作成するためのユーティリティが存在するかどうかを知りたいと思います。

Dllのソースコードがあり、ブリッジヘッダーファイル(javah)を作成する方法も知っていますが、ドライバーメソッドを呼び出すだけなので、ブリッジの実装に組み込む方法がわかりません。自分?

たとえば、これは私のドライバーのヘッダーです。

BOOL CALLINGCONV IsInitialized();
int  CALLINGCONV Initialize(int Slot);
int  CALLINGCONV Finalize();
int  CALLINGCONV FinalizeML(int nSlot);

JNAについても読んだのですが、簡単そうに見えますが、それほど速くはないかもしれませんが、本当ですか?Thnak you

4

2 に答える 2

0

JavaCPPはJNAと同じくらい簡単ですが、生のJNIと同じくらい高速です。たとえば、このJavaクラスは、ヘッダーファイルとライブラリファイルの名前がそれぞれ「Driver.h」と「Driver.lib」であると仮定して、Javaのこれら4つの関数に効率的にアクセスできるようにします。

import com.googlecode.javacpp.*;
import com.googlecode.javacpp.annotation.*;

@Platform(include="Driver.h",link="Driver")
public class Driver {
    static { Loader.load(); }
    public static native @Cast("BOOL") boolean IsInitialized();
    public static native int Initialize(int Slot);
    public static native int Finalize();
    public static native int FinalizeML(int nSlot);
}
于 2012-04-16T13:27:34.097 に答える
0

JNIでの作業を容易にする2つの異なるライブラリを提案できます

于 2012-04-16T13:19:52.180 に答える