我正在嘗試使用SWIG來生成我的JNI。我已經有了可以工作的JNI代碼,但是它是手寫的,並且越來越複雜和難以維護。使用SWIG生成的JNI可以從C代碼中調用java方法嗎?
我的一些在C函數是從Java調用,然後他們叫Java中(可能這不是一個好主意,但它現在正在爲)一些方法...
我想知道SWIG有可能生成這種JNI代碼?
我正在嘗試使用SWIG來生成我的JNI。我已經有了可以工作的JNI代碼,但是它是手寫的,並且越來越複雜和難以維護。使用SWIG生成的JNI可以從C代碼中調用java方法嗎?
我的一些在C函數是從Java調用,然後他們叫Java中(可能這不是一個好主意,但它現在正在爲)一些方法...
我想知道SWIG有可能生成這種JNI代碼?
是的,它應該是可能的。
以下語言在swig-1.3.6及以上版本中也受支持: Java JDK 1.1及更新版本。
UPDATE:
從http://www.swig.org/compat.html
更多的信息在這裏引用欲瞭解更多信息從C調用的Java ++看看:http://www.swig.org/Doc1.3/Java.html#java_directors
您的意思是生成使用FindClass,GetMethodID,CallVoidMethod的代碼的工具嗎? – 2013-04-21 17:52:21
@TomBlodget是的,類似的東西。 – ddss 2013-04-21 21:04:44
@TomBlodget或至少生成的代碼,使我JNIEnv,jclass和工作對象,沒有從包裝文件手動轉發... – ddss 2013-04-21 21:11:11