java通过JNI调用C++(VC++6.0) 实例

第一步:创建Java程序

public class AddTest {


public native int add(int x, int y);


public static void main(String[] args) {
AddTest hh = new AddTest();
System.loadLibrary("test");
int r = hh.add(30, 20);
System.out.println("result = " + r);



}
}

loadLibrary(“test”)是动态链接库的名字

方法要声明为Native

第二步:javac AddTest.java  ,生成AddTest.class文件

第三步:javah AddTest  ,生成AddTest.h文件

第四步:创建一个C++工程,新建--->工程------>win32 Dynamic-link library

//AddTest的测试实例
#include<iostream.h>
#include"AddTest.h"


JNIEXPORT jint JNICALL Java_AddTest_add(JNIEnv *ev, jobject obj, jint x, jint y) 

  return x+y; 

将第三步生成的AddTest.h文件拷贝到C++工程目录下。JNIEXPORT jint JNICALL Java_AddTest_add格式:java_类名_方法名

一劳永逸:将jni.h加入到VC6.0安装目录下的Include目录中。jni.h在JDK安装目录下的include中,同时得件include/win32中的两个头文件jawt_md.h、jni_md.h也导入到VC6.0中

编译C++项目,在debug目录下会生成一个***.dll文件。将此文件重命名为test.dll,并拷贝到java项目目录下。或者将test.dll目录添加到path环境变量下。

第五步:运行java程序,得到结果。有时,需要重启eclipse

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值