JNI:java native interface java本地开发接口,是用来java调用本地编程语言的,如 C c++ 汇编等本地语言
本身jni调用C是很easy的,如果看代码,单纯追流程的话,可以一步一步的追到C函数里面去,但是使用C++的使用就追不进去了,c++是c的“高级版”,用jni用起来还真是“高级”:方法签名追进去全变成字符串了,java的弱引用传过去之后也不知道保存在什么地方去了……在C++代码里看来就是什么地方想用了,直接get就得到之前传递的对象了……
谁知道jni调用C++是什么个原理,程序怎么读? |