java jni 调用

10 篇文章 0 订阅

详细的步骤可以参考官方链接 https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html

这里只记录一下自己在实践的过程中遇到的问题。


1、编译java文件时的一些细节:

首先生成class文件时,不需要使用含包名的全名,只需指出该文件的位置即可  例如  javac com/ten/mm/HelloJni.java

2、使用java 和javah 运行和生成c头文件时需要使用包含包名的全名, 如java com.ten.mm.HelloJni  javah com.ten.mm.HelloJni,因为这两个命令是对类作用的,不像上面的是对文件。

3、编译成库文件,将javah生成的c或cpp文件生成动态库时,可以用cygwin或MinGW,使用Cygwin没成功,使用MinGW挺顺利的。但是在运行的时候出现Can't load IA 32-bit .dll on a AMD 64-bit platform。原因是编译出来的库是32位的,而我装的java是64位的。改成32位的java就可以了,也可以用MinGW-w64试试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值