java 调用c++类库_Java调用C++类库--JNI

本文详细介绍了如何使用Java Native Interface (JNI) 将Java代码与C++库进行集成。从创建Java类定义本地方法,到使用javah生成头文件,再到用VS2008构建C++动态链接库,最后成功运行Java应用程序并输出结果。这是一个完整的JNI应用实例,适合初学者参考学习。
摘要由CSDN通过智能技术生成

packagecom.liyong.TestNativeCode;public classTestNativeCode {public native voidsayHello();public static voidmain(String[] args) {

System.loadLibrary("NativeCode");

TestNativeCode nativeCode=newTestNativeCode();

nativeCode.sayHello();

}

}

第五步,编译Java文件

1,运行-->cmd-->进入TestNativeCode项目的src目录下编译该Java类,命令 javac ./com/liyong/TestNativeCode/TestNativeCode.java。在该TestNativeCode.java目录下会生成TestNativeCode.class文件

2,使用javah生成头文件,命令 javah -jni com.liyong.TestNativeCode.TestNativeCode。在src目录下生成com_liyong_TestNativeCode_TestNativeCode.h文件。

第六步,编译C++类库

1,打开VS2008,新建Win32 项目NativeCode,如图所示:

afd40ca6f21efd236ce8397dae068dde.png

确定后,在“应用程序类型”中选择“DLL”,如图:

bf1ca7a47bdc41eaf808d3d1e49d53cf.png

2,将上一步生成的com_liyong_TestNativeCode_TestNativeCode.h添加到项目头文件中。

3,在NativeCode项目的“源文件”中添加NativeCode.cpp文件,具体如蓉如下

#include "stdafx.h"#include"com_liyong_TestNativeCode_TestNativeCode.h"#include

using namespacestd;

JNIEXPORTvoid JNICALL Java_com_liyong_TestNativeCode_TestNativeCode_sayHello(JNIEnv *env, jobject obj)

{

cout<

}

4,使用Release编译,生成NativeCode.dll,将其拷贝到java环境变量Java_Home的Bin目录下,比如,LZ的Java_Home目录是

C:\Program Files\Java\jdk1.6.0_25,将NativeCode.dll拷贝到C:\Program Files\Java\jdk1.6.0_25\bin目录下。

第七步,运行Java应用程序,会输出“Hello NDK!”,Ok,成功!这里只是一个简单的例子,具体的应用就靠大家举一反三啦

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值