C kodu
basic_hash* getAlgorithmInstance(int algorithm)
amacı, aşağıdaki yöntemleri içeren bir nesne için bir işaretçiyi geri döndürmektedir DLL içinde bir yöntemi vardır nesne?
Ben
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" de "object" diye bir şey yoktur. İşleviniz büyük olasılıkla bir yapı işaretçisini döndürür ('struct *'). Bize 'basic_hash' tanımını gösterin ve 'Geri arama' veya 'işlev işaretçisi' JNA referanslarına bakın. – technomage
basic_hash - Bir sonraki yöntemle arayüz: \t ** void reset(); geçersiz kısmi (const byte * veri, uint64 boyutu); void son hali (vector_byte & hash); void hash (const bayt * veri, uint64 boyutu, vector_byte & hash). ** – 6azbljlb