Cコード
basic_hash* getAlgorithmInstance(int algorithm)
オブジェクトは以下のメソッドを持つオブジェクトへのポインタを返すDLL内のメソッドを持っていますオブジェクト?
私はあなたが各関数ポインタのためのコールバックを宣言する必要がポインタ
Javaコード
public interface LIB extends Library {
LIB INSTANCE = (LIB) Native.loadLibrary(
(Platform.isWindows() ? "LIB " : "linuxLIB"), LIB.class);
Pointer getAlgorithmInstance(int i);
}
public static void main(String[] args) {
try {
LIB lib = LIB.INSTANCE;
Pointer pointer = lib.getAlgorithmInstance(0);
//pointer.reset(); //TODO how call?
} catch (Exception e) {
e.printStackTrace();
return;
}
}
「C」には「オブジェクト」はありません。あなたの関数は構造ポインタ( 'struct *')を返す可能性が最も高いです。 'basic_hash'の定義を見せて、' Callback'や 'function pointer 'へのJNA参照を調べます。 – technomage
basic_hash - 次のメソッドとのインターフェイスです:\t ** void reset(); void partial(const byte * data、uint64 size); void finalize(vector_byte&hash); void hash(const byte * data、uint64 size、vector_byte&hash)。** – 6azbljlb