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傻瓜级入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 连接janusgraph_基于
- 下一篇: 计算机网络第4版潘爱民_【每日一题笔试】