欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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

发布时间:2025/3/20 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 idea没有out文件夹_史上最详细没有之一的 Java JNI傻瓜级入门教程 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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

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

public native void testPrintArray(int []a);

public static void main(String[] args){

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

int k=0;

System.loadLibrary("TestJNITIME");

JNITIME jnitime = new JNITIME();

long startTime;

long endTime;

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+vs2017可以参考这篇教程https://www.runoob.com/w3cnote/jni-getting-started-tutorials.html,本文对这篇教程亦有参考,侵删)

总结

以上是生活随笔为你收集整理的idea没有out文件夹_史上最详细没有之一的 Java JNI傻瓜级入门教程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。