Eclipse下配置javah.exe自动生成jni头文件

最近项目中需要用到JNI来进行java和c++之间的交互,去命令行调用javah.exe命令生成jni头文件的方法比较麻烦,可以通过配置Eclipse来解决这个问题,配置方法如下:

1、首先确保你的环境配置没有问题(我想既然都开始用JNI了因该不会有问题吧!)
2、打开如下按钮 external tools configurations…
这里写图片描述
3、选中program,然后点击上面的带有+号的文档,新建一个项目
这里写图片描述
4、设置项目名和一些相关配置信息。
这里写图片描述
Name设置:随便起我这里起的是javaH

Main设置:
Location 点击Browse File System 设置
Working Directory 点击variables…选择 project_loc,然后加上\src
Arguments: 直接复制粘贴

-classpath .;./classes -d "${project_loc}/jni" -jni ${java_type_name}

Refresh设置:参考下图
这里写图片描述

Common设置:参考下图
这里写图片描述

点击下apply。

5、编写测试代码

package jni.exercise;

public class test {

    public native int add(int a,int b);
    public native int compare(int a,int b);

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

    /* static {
         System.loadLibrary("TestJNI");
    }*/

}

目录结果如下:
这里写图片描述

选中test.java 点击 编译
这里写图片描述
就能生成头文件了
这里写图片描述

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class jni_exercise_test */

#ifndef _Included_jni_exercise_test
#define _Included_jni_exercise_test
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     jni_exercise_test
 * Method:    add
 * Signature: (II)I
 */
JNIEXPORT jint JNICALL Java_jni_exercise_test_add
  (JNIEnv *, jobject, jint, jint);

/*
 * Class:     jni_exercise_test
 * Method:    compare
 * Signature: (II)I
 */
JNIEXPORT jint JNICALL Java_jni_exercise_test_compare
  (JNIEnv *, jobject, jint, jint);

#ifdef __cplusplus
}
#endif
#endif

ok 到这里就结束了。
参考文献:
http://blog.csdn.net/mirkerson/article/details/17187109
http://blog.csdn.net/ling1874/article/details/20358041
http://www.oschina.net/question/1402563_133543

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值