windows下學習JNI?eclipse + dev-c++就夠了,方便 .

http://blog.csdn.net/zachgenius/article/details/7316159
分類: JNI DEV-C++ eclipse 308人閱讀 評論(0) 收藏 舉報

注:本文是入門教程,關於環境搭建。常用的Eclipse+CDT或者minGW方法本人試過好多次,都沒有成功。因此其他方法可行的同志們,可以當做一種參考,或者有比這個更方便的方法的同學們歡迎提出更好地解決方案。

本人所實習的公司近期派下的任務中有一個是關於JNI的編程,而本人又確實沒有涉足過此領域,於是在度娘谷歌裏面搜了很多搭建JNI編程環境和方法的文章,但是很多都是eclipse+minGW的,而單用MinGW的話非常麻煩,而且在命令行下(很顯然windows的命令行完全沒有Linux下的好用)特別麻煩,而且雖然說用VS也可以做,但是就VS的那個體積安裝完也就夠V5的了,而且佔用資源大,對於我的這麼點2G內存來說實在是消受不起。搞了近乎半天連HelloWorld都搞不定,這對於初學者來說要崩潰

於是乎,經過一些軟件的測試,發現Dev-C++來做JNI開發和學習非常方便,雖然說最新版本是2005年的4.9.9.2版本,已不再更新,但是卻是經典的IDE,跟當年VC6.0是同一級別的經典,而且大小非常小隻有9M左右。它自帶的是minGW編譯器,免去了諸多自己配置的問題,對於初學者來說可以避免配置錯誤導致無法使用minGW的情況,所以在編譯的時候會直接把linux的文件也會編譯出來,非常方便。下載位置可以自己百度一下。

本文所用到的是eclipse + dev-c++這兩款軟件,它們的安裝配置我就不在這裏詳述了,非常簡單

本文主要講的是環境的搭建使用方法,所以對於源碼的理解請自行找教程

=============================憂桑的分割線==============

先來看eclipse下的HelloWorld代碼

1、新建一個JAVA工程,然後新建一個Class叫做HelloWorld:

保存後在項目文件夾(在本機資源管理器打開)的bin目錄下就有編譯好的class文件

2、用CMD進入該文件夾,輸入 javah -jni HelloWorld (當然前提是已經把JAVA的環境變量設置好並把它放到了PATH中),就可以生成需要用到的頭文件HelloWorld.h 文件。

3、打開Dev-C++,新建一個工程,選擇DLL,語言選擇C Project(或者C++都可以,根據需要而定),工程名稱一定要跟在JAVA中調用的名稱保持一致,也就是HelloWorld

點擊OK就會讓你選擇項目保存位置,這個隨意。新建之後在左邊的Project視圖下會看到HelloWorld工程,並且自動生成兩個文件,不用管它,把那兩個原文件全部刪掉(右擊要刪除的文件,remove file)

4、把之前生成的HelloWorld.h文件移動到你保存的剛剛新建項目的所在位置(一定要同一目錄,否則編譯報錯),右擊Dev C++中HelloWorld項目,選add to project,把移動過來的文件選中,添加進工程

5、(這一步非常重要)在菜單欄中選project->project option->directories標籤->include directories標籤,在其中添加JDK文件夾下的include和include\win32兩個文件夾,如圖

這一步經常容易遺忘,一定要注意每新建一個項目都要添加這兩個文件夾,否則jni.h是無法識別的

6、新建C源碼,HelloWorld.c,

7、保存之後Ctrl+F9進行編譯,編譯完成之後就會在該項目所在目錄下找到需要的HelloWorld.dll動態鏈接庫以及Linux版的.so .o文件。

以下是最重要的幾步

8、在最開始建的JAVA項目的文件夾下新建一個目錄(比如lib)

9、右擊項目->properties->Java BuildPath->Source標籤,在點擊的JNITest/src會展開下拉列表,選擇Native library location並單擊右面的Edit

10、選擇當前項目(我的是JNITest)下的lib目錄,一路OK下來回到Eclipse主界面,運行HelloWorld就會在下面的控制檯下面看到輸出結果了。

到此,整個Windows下的JNI環境算是搭建好了

========================蛋疼的分割線========================

牧之推薦:網絡上關於JNI的教程非常之多,但是本人發現豈是SUN提供的官方JNI教程是最最好用最最通俗易懂最最全面系統的教程(當然,前提是能對E文不過敏)。

下載地址:http://java.sun.com/docs/books/jni/download/jni.pdf

JNI真的是好東西,不僅可以大大提高軟件執行效率,你不了JAVA的一些不足,而且對於某些只能用C/C++的場合提供了非常方便的方法。

==end==

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