JNI-Java調用C++牛刀小試

 網上看了好多貼子,但是說的雖大體一致,但還是弄了好久好久

1.Java配置這個就不提了、

2.VC要添加的如圖

(1)

 

 

(2)

 

目錄結構

Dictionary(本地目錄)

--|DictionaryClinet.java

--|DictionaryClinet.class(編譯後生成)

--|DictionaryClinet.h(javah生成)

--|--Dictionary(包名)

--|--|DictionaryClinet.class

 

 

1.編譯命令

D:\Java\Dictionary>javac DictionaryClinet.java

2.Dictionary是java文件中的包名,DictionaryClinet是類名。在目錄下新建文件夾Dictionary,然後把生成的DictionaryClinet.class複製到該文件夾。

3.生成頭文件

D:\Java\Dictionary>set classpath=D:\Java\Dictionary

D:\Java\Dictionary>javah -jni Dictionary.DictionaryClinet

4.通過小測試,實現了Java與C++的調用。

 

-------------以上是參考帖子總結出來的,算是下面這個帖子的一些補充-----------------

原文地址:

http://www.cnblogs.com/cpcpc/archive/2012/08/13/2636199.html

原文:

第一步:安裝Java jdk,eclipse。
第二步,配置Java環境變量,java環境變量配置
第三步,新建一個Java應用程序,名爲:TestNativeCode,包名:com.liyong.TestNativeCode,類名:TestNativeCode
第四步,在TestNativeCode類裏面添加如下代碼:
複製代碼
package com.liyong.TestNativeCode;  public class TestNativeCode {     public native void sayHello();     public static void main(String[] args) {         System.loadLibrary("NativeCode");         TestNativeCode nativeCode=new TestNativeCode();         nativeCode.sayHello();         } }
複製代碼

第五步,編譯Java文件
1,運行-->cmd-->進入TestNativeCode項目的src目錄下編譯該Java類,命令 javac ./com/liyong/TestNativeCode/TestNativeCode.java。在該TestNativeCode.java目錄下會生成TestNativeCode.class文件
2,使用javah生成頭文件,命令 javah -jni com.liyong.TestNativeCode.TestNativeCode。在src目錄下生成com_liyong_TestNativeCode_TestNativeCode.h文件。

第六步,編譯C++類庫
1,打開VS2008,新建Win32 項目NativeCode,如圖所示:

確定後,在“應用程序類型”中選擇“DLL”,如圖:

2,將上一步生成的com_liyong_TestNativeCode_TestNativeCode.h添加到項目頭文件中。

3,在NativeCode項目的“源文件”中添加NativeCode.cpp文件,具體如蓉如下

複製代碼
#include "stdafx.h" #include "com_liyong_TestNativeCode_TestNativeCode.h" #include <iostream>
using namespace std;  JNIEXPORT void JNICALL Java_com_liyong_TestNativeCode_TestNativeCode_sayHello(JNIEnv * env, jobject obj) { cout<<"Hello NDK!"<<endl; //printf("Hello NDK!");
}
複製代碼

4,使用Release編譯,生成NativeCode.dll,將其拷貝到java環境變量Java_Home的Bin目錄下,比如,LZ的Java_Home目錄是
C:\Program Files\Java\jdk1.6.0_25,將NativeCode.dll拷貝到C:\Program Files\Java\jdk1.6.0_25\bin目錄下。

第七步,運行Java應用程序,會輸出“Hello NDK!”,Ok,成功!這裏只是一個簡單的例子,具體的應用就靠大家舉一反三啦

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章