jni程序开发简单示例和说明(eclipse + Microsoft Visual Studio 2010)

Jni程序开发的一般操作步骤如下:

l 编写java中的调用类

l 用javah生成c/c++原生函数的头文件

c/c++中调用需要的其他函数功能,实现原生函数(原则上可以调用任何资源)

l 将项目依赖的所有原生库和资源加入到java项目的java.library.path

l 生成java程序

l 发布java应用和dll库


以下的所有工程项目代码和文档:

http://download.csdn.net/detail/chenchendf/8338173

 

1. java:

eclipse工程代码:testJni.zip

 

TestHello.java: 

 

 

package com.jni;

public class TestHello {

 static{

  System.loadLibrary("TestHello"); //已经在环境变量中添加dll文件的路径:E:\workspace\testJni\dll

 }

 

 public static native void hello(String msg);

 

 /**

  * @param args

  */

 public static void main(String[] args) {

  // TODO Auto-generated method stub

  hello("Hello, Kimmi!");

 

 }

}

注意:

1) javah -classpath E:/workspace/testJni/bin TestHello  

(1) 使用classpath参数指定编译后的class文件的路径,否则会提示找不到类

(2) TestHello  类要使用全路径,即前面要添加其包名,此处因为是放在默认包中,所以没有添加。

2). dll文件所在目录必须在系统环境变量中添加,否则无法读取;

3). 使用eclipse测试时,生成dll之后,需要重启eclipse

 

2. c++

 

Microsoft Visual Studio 2010工程代码: TestHello_VC.zip

 

注意:

1) 使用过程中需要用到jni.h和 jni_md.h,在java安装目录的include目录下,需要copy到当前工程目录下

2)visual studio2010需要修改两个地方,否则编译会出错:

“项目”-》“属性”-》“配置属性”:

 

3. 一切正常后,在eclipse中运行,Run as->Java Application: 结果:

 

 

参考: 

http://blog.csdn.net/skywalker256/article/details/4677644

http://www.iteye.com/topic/304594#814127


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值