我在Java代碼,如下所示:定義/從C實例化一個Java對象/ C++
class MyClass
{
public void MyFunc(ISomeListener listener);
}
我想調用從C++程序這種方法,並傳遞給它的所需的參數。請注意,該參數是一個接口的實現。因此我需要定義AND創建來自C++的java對象並將它傳遞給該方法。我怎樣才能做到這一點?
P.S. 如果有幫助,最初的問題是,java程序是一個硬件接口(如驅動程序)。我試圖從這個Java代碼創建一個DLL,以便它可以用於任何語言。所以我認爲我會使用C/C++打包代碼,然後將DLL做出來。
在我看來,這種方法存在根本上的缺陷。除非通過jni使用某些本機庫,否則Java不能有任何低級的硬件接口。實現這一目標的真正常用方法是用java包裝本地對應部分,而不是周圍的其他方式。你要360º才能回到起點。我不知道確切的問題,但看起來很奇怪。 – 2013-04-10 11:53:48
[你可以使用JNI從C++調用Java](http://stackoverflow.com/questions/819536/how-to-call-java-function-from-c)。我是否正確理解你想要在C++中實現Java接口,然後調用Java函數並將C++實現傳遞給它?我想知道這是否可能。特別是考慮到C++甚至沒有接口。 – Philipp 2013-04-10 11:55:16
@ Yn5an3,你說得對。但是應用程序已經實施,重新實施它並不划算。 – atoMerz 2013-04-10 11:56:10