jni使用中的问题

来源:互联网 发布:qq三国奥义天赋点算法 编辑:程序博客网 时间:2024/05/22 14:50


1、javah编译含包的class

这是从网上摘录的,确实是按照这种方法编译可以的。

用JNI时,需要把class文件编译成.h文件
不带包名的class:在该class文件的同级目录下,键入命令javah XXXX
例如:TestJni.class文件在D:\\java_projects\test\目录下
      在命令提示行中,转到该目录下,运行javah TestJni
     
带包名的class:在该class文件的同级目录下,javah XXXX,会出错,报错信息大致是说无法访问(包名.XXX),解决方法是退回到class文件的上级目录,用命令javah 包名.XXX
例如:TestJni.class的包名为jni,该class文件在D:\\java_projects\test\jni
     目 录下,在命令提示行中,转到该目录的上级目录
      (D:\\java_projects\test\),运行javah jni.TestJni  

2、dll文件放的位置。

网上有很多放的位置,但我直接就用其中的一种。就是先查看环境变量PATH中java的bin位置,把dll直接放到这个bin目录中就可。这个和具体是什么包没有关系。

如果你直接放到工程文件中,还要查看PATH所注明的java bin目录里面有没有dll文件,不管是eclipse还是网页运行applet都会先找到这个目录然后再去找工程目录。

具体可以查看网上jni dll放的位置。

3、注意内存泄露问题

正在查找中.....

原创粉丝点击