Scusate ma mon riesco a capire se ho eseguito la procedura per scrivere metodi nativi bene.
allora:
mi pare di capire che si deve scrivere prima il metodo nativo non implementato in una qualsivoglia classe, aggiungendo uno statico con il system.loadlibrary per caricare poi all'atto dell'istanza la libreria contenente il metodo nativo, ad esempio:
public class Classe
{
public int classe;
public native int metodo(int classe);
static {
System.loadLibrary("metodo.a");
}
}
poi tramite javah si crea l'header da includere nel progetto in C o C++, cosi' si può poi implementare il metodo in questione e creare la libreria(sia essa statica o dinamica).
fatto questo non resta che scrivere una classe che istanzi la classe dove è dichiarato il metodo nativo ed usarlo:
public class usaClasse
{
public static void main(String argv[])
{
Classe cls = new Classe();
System.out.println(cls.metodo(3));
}
}
Come mai al runtime mi dice:
Exception in thread "main" java.lang.UnsatisfieldLinkErrror: no metodo.a in java.library.path
sembra non carichi ( o linki bhò non ci capisco niente più la librerie esterna).