在网上搜了一下,Jni可以调用用C或C++写的DLL,但好像这个DLL必须是包含了Jni.h后实现的一个DLL,那如果这个DLL之前就是用纯粹的C或C++写的(就是没有用JNI实现),而且有函数接口,那么JNI能调用这个DLL吗?

解决方案 »

  1.   

    你自己写一个JNI,在你的JNI里面去调用你要调用的那个DLL.
    你写的那个JNI相当于一个代理(中介的作用).
      

  2.   

    楼主的意思是,你说的那种方法,他们有,他就想问问有没有不用JNI的方式
      

  3.   

    那如果那个DLL有上千个函数,如果想全部使用这些函数,是不是用JNI写的代理也要有同样数目的函数?每个代理函数的实现内容就是调用那个DLL的相应函数?
      

  4.   

    这个问题先结了,感觉用JNI可能比较繁琐,用第三方库如jacob,jawin,jna等可能方便些,接下来研究研究这些库。