jni tutorial:windows下的HelloJNI

來源:互聯網
上載者:User

你需要保證你滿足下麵條件:

1. 使用 Eclipse 在 windows(32位作業系統)下學習。

2. 安裝了MinGW,並且配置好,保證 gcc 可以使用。


一、建立項目

HelloJNI.java

package it.man.jni;public class HelloJNI {static {System.loadLibrary("HelloJNI");}public native int getValue();}

Main.java

package it.man;import it.man.jni.HelloJNI;public class Main {public static void main(String[] args) {HelloJNI jni = new HelloJNI();jni.getValue();}}

二、編寫 c 代碼

這裡分如下幾個步驟

1、javah 產生標頭檔

這裡要確保你的 eclipse 是儲存後理解編譯java代碼的。不然手動編譯你的 java 代碼,主要目的是產生 class 檔案

cd 到項目根目錄(如這裡是 E:\workspace\kepler\SUNJNIPrograms如這裡是),即可執行

javah -classpath bin -d jni -jni it.man.jni.HelloJNI

隨後在jni目錄產生檔案,目錄結構如下

2、編寫c

在 jni 目錄建立一個 c 檔案,這裡命名為 HelloJNI.c

複製 it_man_jni_HelloJNI.h 裡面的代碼到 HelloJNI.c

#include <jni.h>#include <stdio.h>jint JNICALL Java_it_man_jni_HelloJNI_getValue(JNIEnv *env, jobject obj) {int a = 7;int b = 9;printf("gatValue return: %d\n", a+b);return a+b;}

三、編譯 c 檔案,產生 dll 檔案

cd 到 jni 目錄(E:\workspace\kepler\SUNJNIPrograms\jni),執行

gcc -Wl,--add-stdcall-alias -I"D:\Program Files\Java\jdk1.6.0_45\include" -I"D:\Program Files\Java\jdk1.6.0_45\include\win32" -shared -o HelloJNI.dll HelloJNI.c

其中,D:\Program Files\Java\jdk1.6.0_45是jdk的安裝路徑。


這時目錄結構如下

四、運行程式

在 eclipse 裡面選擇 run/run configurations/run java app,為 jvm 添加參數


注意:java.library.path 參數一定要設定,後面是 dll 的父目錄。

正常的話,你會看到

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.