jni使用中的问题


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、注意内存泄露问题

正在查找中.....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值