Ich versuche gerade eine bestehende C++ API in form einer libXXX.so über JNI zu nutzen und hätte da mal ein paar Grundsätzliche Fragen.
Wenn ich über JNI meine selbstgeschriebenen C-Programme in Java nutzen will klappt alles wunderbar.
Ich gebe in Java die Methoden die ich aus dem C Programm nutzen will mit native bekannt,
lasse mit javah daraus die Headerdatei generieren und lade die lib die ich vorher aus meinem C Programm erstellt habe.
Die lib erstelle ich indem ich dem C Compiler meine von Java erstellte Headerdatei in Verbindung bringe mit dem C Programm.
Soweit Sogut …
Ich verstehe nun nicht wirklich wie ich eine bereits existierende lib mit JNI nutzen könnte, die ich nicht selbst Kompiliert habe?
Muss ich hier den C++ Code neu verpacken und selber die libXXX.so erzeugen?
Oder ist das der falsche Ansatz und ich kann die bestehende lib nutzen indem ich zum Beispiel ein C/C++ Programm schreibe welches die eigentliche Lib nutzt und meine C/C++ Implementierung ist nur das Interface welches Daten hin und her schubst und castet.
Ich verstehe nun nicht wirklich wie ich eine bereits existierende lib mit JNI nutzen könnte, die ich nicht selbst Kompiliert habe?
Muss ich hier den C++ Code neu verpacken und selber die libXXX.so erzeugen?
Oder ist das der falsche Ansatz und ich kann die bestehende lib nutzen indem ich zum Beispiel ein C/C++ Programm schreibe welches die eigentliche Lib nutzt und meine C/C++ Implementierung ist nur das Interface welches Daten hin und her schubst und castet.
Bin relativ unerfahren in C und C++, bitte berücksichtigen beim Antworten, Danke )
Comment