100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > idea没有out文件夹_史上最详细没有之一的 Java JNI傻瓜级入门教程

idea没有out文件夹_史上最详细没有之一的 Java JNI傻瓜级入门教程

时间:2019-10-28 09:13:07

相关推荐

idea没有out文件夹_史上最详细没有之一的 Java JNI傻瓜级入门教程

本文使用java的IDEA和visual studio来详细的一步一步演示java的JNI构建过程(eclipse+vs的教程在文末)

1.打开java的IDEA,file->new,新建名为JNITIME的项目,在接下来出现的界面左侧找到名为src的文件夹图案,右击->new->package,命名为com.aijiao.test。在com.aijiao.test的文件夹图案右击->new,选择java class,命名为JNITIME。写入如下代码:

public native voidtestPrintArray(int[]a);

public static voidmain(String[] args){

inta[]={1,2,3,4,5};

intk=0;

System.loadLibrary("TestJNITIME");

JNITIME jnitime =newJNITIME();

longstartTime;

longendTime;

startTime = System.currentTimeMillis();

for(;k<500;k++){

jnitime.testPrintArray(a);

System.out.println(" ");}

endTime = System.currentTimeMillis();

System.out.print("The time use is:");

System.out.println(endTime-startTime); }

效果如下:

2.点击上边栏的Build,之后找到本java项目存储的文件夹,找到名为out的文件夹,打开,之后一直见到文件夹就打开,直到看到名为com的文件夹。

在电脑左下角的开始处搜索cmd,打开cmd.使用cd命令进入到上图显示的文件夹,输入javah -classpath . -jni com.aijiao.test.JNITIME

(java idea的版本不同可能过程略有不同,1.8.0_231版本的用上述方法即可。更高版本的可能需要让cmd进入.java文件所在的文件夹,并且最后一句命令中的javah应该替换为javac -h.查看java的版本可以在idea的左下角点击terminal打开终端,输入java -version进行查询)

3.打开visual studio,选择 文件->新建->项目,在弹出的窗口右上角搜索dll,选择动态链接库(DLL),命名为TestJNITIME(这个名字要与java代码中的 System.loadLibrary函数的参数一致)

在右侧栏找到源文件->添加->类,命名为TestJNITIME

4.在java的idea中的左下角,点击terminal,输入java -verbose,按输出的最后两行寻找,可以找到一个名字带有"jdk"字样的文件夹,在该文件夹的include文件夹中有一个名为jni.h的文件,在include文件夹里的win32文件夹里有个名为jin_md.h的文件,把这两个文件连同刚才生成的com_aijiao_test_JNITIME.h都复制到cpp项目的文件夹中的TestJNITIME文件夹中。如图所示:

在visual studio中,右侧栏的头文件上右击->添加->现有项,选择com_aijiao_test_JNITIME.h,jin_md.h,jni.h。打开com_aijiao_test_JNITIME.h,把#include <jni.h>修改为#include "jni.h"。

5.打开TestJNITIME.cpp,写入如下代码:

#include "pch.h"

#include "TestJNITIME.h"

#include "com_aijiao_test_JNITIME.h"

#include <iostream>

#include <stdio.h>

JNIEXPORT void JNICALL Java_com_aijiao_test_JNITIME_testPrintArray

(JNIEnv *env, jobject obj, jintArray a) {

jint buf[5];

jint i, sum = 0;

env->GetIntArrayRegion(a, 0, 5, buf);

for (i = 0; i < 5; i++) {

printf("%d ", buf[i]);

}

}

6.在右侧栏的解决方案上右击->属性,点击“配置管理器”,一定要在配置管理器中修改,否则无效,配置如下;

在右侧栏的项目上右击->生成,如有杀毒软件弹出,一律选择允许程序运行,输出如下:

6.在java的idea中,选择左上角的file->project sturcture->libraries,点击左上角的加号,选择java,填入路径,填到Release为止如图:

之后再选run,程序就可以愉快地跑起来啦~

(如果使用eclipse+vs可以参考这篇教程/w3cnote/jni-getting-started-tutorials.html,本文对这篇教程亦有参考,侵删)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。