eclipse调用JNI之环境的搭建
因為項目中要在Java中調用C++編好的代碼,即用eclipse調用動態鏈接庫,故花了點時間研究在eclipse中使用JNI。
有時候因為Java本身特性的限制,單獨使用Java語言可能不能完全滿足應用程序的需要,這時需要使用JNI(JavaNative Interface)來編寫Java本地方法,用來處理那些不能完全用Java語言編寫應用程序的情況。通過JNI技術,Java開發者可以調用C/C++等其他語言編寫的代碼。JNI是Java語言和其他語言間的一座橋梁,通過訪問JNI定義的接口來獲得服務,在JNI的另一面可以通過C/C++或其它語言實現這些接口。
本文實現的目的是:在Java中定義一個方法,在C++中實現這個方法,在方法內部輸出“Hello World",然后再回到Java中進行調用。
本文使用的環境是:win10 ?+ ?eclipse(eclipse-jee-neon-2-win32)+ ?VC++6.0(綠色英文版)。
第一步:在Eclipse中建立一個類:JNIDemo
package com.jni.demo;public class JNIDemo {//定義一個本地方法public native void sayHello();public static void main(String[] args) {//調用動態鏈接庫System.loadLibrary("JNIDemo");JNIDemo jniDemo = new JNIDemo();jniDemo.sayHello();}}其中sayHello就是要在C++中實現的方法。 第二步:使用javah命令將JNIDemo生成.h的頭文件:
命令如下:
G:\Code\eclipse\JNIDemo\bin>javah com.jni.demo.JNIDemo
第三步:使用VC++6.0生成.dll文件
1、在VC++6.0中新建一個項目JNIDemo,項目類型為Win32 Dynamic-Link Library,點擊OK。
2、在彈出的窗口中選擇A simple DLL project,點擊Finish。
3、打開項目所在的文件目錄,將步驟2中生成的com_jni_demo_JNIDemo.h文件復制到此目錄。然后點擊工程窗口左邊的FileView,切換到文件瀏覽模式。在Header Files上點擊右鍵,選擇Add Files to Folder,選擇TestHello.h文件,點擊OK。
4、打開StdAfx.h文件,再最后面添加:
#include <jni.h>
#include "com_jni_demo_JNIDemo.h" 5、打開JNIDemo.cpp文件,在最后面添加一段代碼:
JNIEXPORT void JNICALL Java_com_jni_demo_JNIDemo_sayHello (JNIEnv * env, jobject obj)
{ printf("Hello World!\n");
}6、在VC的菜單上選擇Tools-Options,打開選項對話框,在Directories文件夾,添加上jdk所在文件夾下的include和include\win32文件夾。
其實就是要把jni.h和jni_md.h文件添加的工程上來。
7、點擊VC6.0上的菜單項Build-Build All,生成JNIDemo.dll。編譯成功后,生成JNIDemo.dll文件在C++工程中的Debug目錄中。
第四步:調用.dll文件。
有兩種方式:
第一種方式:將VC++項目Debug文件夾中的JNIDemo.dll復制到JNIDemo.class所在的文件夾中。然后在命令行下輸入java com.jni.demo.JNIDemo, 輸出Hello World!
第二種方式:將JNIDemo.dll文件添加到path環境變量中
然后在eclipse中運行:
轉載于:https://www.cnblogs.com/yzy-blogs/p/6597327.html
總結
以上是生活随笔為你收集整理的eclipse调用JNI之环境的搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果手机换屏幕多少钱啊?
- 下一篇: 文献阅读方法 如何阅读英文文献 - 施