您的位置:首页 > 编程语言 > Java开发

javah命令自动生成JNI头文件+Eclipse自动配置

2017-08-15 17:58 453 查看
1.创建一个工程,编写一个类



package test.c;

public class TestCallC
{
public static void main(String[] args)
{
System.loadLibrary("NativeProvider");//加载由C编译器生成的DLL文件。

NativeClass na = new NativeClass();
System.out.println("1 + 2 = " + na.add(1, 2));
}
}

class NativeClass
{
public native int add(int x, int y);
}


2.cmd,进入相应路径,编译类文件

javac TestCallC.java

如果报编码错误,则:javac -encoding UTF-8 TestCallC.java

3.进入src目录,注意,此处类名为包含native方法的类

javah -classpath . -jni test.c.NativeClass

执行成功后会生成.h文件



文件内容如下:

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

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

#ifdef __cplusplus
}
#endif
#endif


后续基于该头文件进行开发,生成dll即可

======================================= Eclipse配置 =======================================

1.首先配置eclipse的工具





Arguments:

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

2.选中我们的类文件,然后运行



3.刷新工程,即可看到我们生成的.h文件

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息