這是一個java call c 使用JNI的範例。
網路上有很多例子,有的使用VC6.0、有的用JCreator,
就是沒有Netbeans + Visual Studio 2005的範例。
因為環境不同造成設定path的地方不同讓自己找很久,
有些是重點卻沒也說清楚,因此自己發了這教學。
JNI(Java Native Interface)其實也是將c code包成dll檔案,
讓java去呼叫且執行。
開發環境:Netbeans, Microsoft Visual Studio 2005
1.使用Netbeans新增專案,選擇Java Application
2.專案名稱:JNIFirst
3.新增Java Class檔
4.檔名:JNIHello,注意不要將JNIHello.java包在package內,不然編譯.h檔時會error。
5.撰寫JNIHello.java內的code
6.接下來要產生.h檔,要用commend line的方式下指令,若你的電腦尚未設定用cmd下java指令的 話可以參考我寫的這篇"設定java環境變數使cmd能下javac等命令";首先要先切換到JNIHello.java檔的目錄下,下指令產生.class,再用class檔產生.h檔,指令:
javac JNIHello.java
javah -jni JNIHello
(2010.1.25新增:要是有package, 輸入指令javah -jni [PACKAGE].[CLASSNAME],並注意要移到package的上層資料夾.)
(2010.8.30新增:修改package名稱請檢查三部分-----1.重新產生.h檔 2.修改include檔名 3.修改function名稱. )
如圖中。
7.Netbeans使用暫告一段落。開啟Microsoft Visuall Studio 2005,新增專案選類別庫(library),
專案名稱:JNIHelloWorld。
8.將剛剛由Netbeans產生的JNIHello.h檔copy到此Project的JNIHelloWorld目錄下。
9.將專案自動產生的JNIHelloWord.h刪除,加入我們剛copy進來的JNIHello.h檔。(當然也可以在新增專案時將名稱設為JNIHello,這樣就不用改名稱直接覆蓋即可,此處為了要說明.h檔與Project的關係故意取不同名稱。)
10.加入JNIHello.h。
11.打開JNIHello.h檔看一下紅框處,function name為Java_JNIHello_printHelloWorld,撰寫cpp檔時就要用這個function。
12.撰寫JNIHelloWorld.cpp,code如圖中。
13.因為有include"jni.h"所以要設定VC的path讓它找的到。選工具->選項。
14.選VC++目錄,include檔案,新增path。
15.設定好之後可以來產生.dll檔案了,選擇建置方案或按F7。
16.建置完成會產生JNIHelloWorld.dll,注意檔案是產生在JNIHelloWorld Project目錄下的debug,d為小寫,不是產生在JNIHelloWorld->JNIHelloWorld->Debug;將dll複製到Netbeans的Project目錄下。
17.開Netbeans,看一下我們剛寫JNIHello.java,由於dll的檔名為JNIHelloWorld.dll,所以要將紅框處修改為JNIHelloWorld。
18.現在來建置一下看看結果是否成功,選run main project。
19.秀出Hello World!。成功囉!
轉載請註明出處,enjoy。
By SHIH-WEI 2009.11.11
http://zwe0405.blogspot.com/2009/11/jni.html
2010年8月30日 星期一
2010年8月21日 星期六
ubuntu 10.04 更新後黑屏解決方法
通常是因為ati或是其他的顯卡驅動裝置不相容,
導致開機後是黑屏.
解決辦法:
1. 在系統啟動時按shit=>出現GRUB選單=>選擇recovery mode(通常是第二個選項).
2. 進入後選擇FailSafeX=>使用預設設定=>之後重開機
3. 重開機進入系統後可移除顯示卡的驅動程式,重新找合適的版本安裝即可.
導致開機後是黑屏.
解決辦法:
1. 在系統啟動時按shit=>出現GRUB選單=>選擇recovery mode(通常是第二個選項).
2. 進入後選擇FailSafeX=>使用預設設定=>之後重開機
3. 重開機進入系統後可移除顯示卡的驅動程式,重新找合適的版本安裝即可.
2010年8月15日 星期日
torrific代抓bt,取代miroko
由於今年7月起miroko改為收費制,不再提供免費服務,因此上網收尋找到了這個外國的bt代抓網站。
此網站優點跟miroko一樣,如果你要抓的檔在兩周內有人已經抓完了,就會瞬間完檔可立即下載.
詳細教學及注意事項請參考torrific(原btaccel)簡易註冊、代抓BT與下載教學
此網站優點跟miroko一樣,如果你要抓的檔在兩周內有人已經抓完了,就會瞬間完檔可立即下載.
詳細教學及注意事項請參考torrific(原btaccel)簡易註冊、代抓BT與下載教學
2010年8月3日 星期二
ubuntu 10.04 txt中文亂碼
2010年8月2日 星期一
ubuntu 10.04 無法關機 (電源未關)
ubuntu 10.04 安裝 ati driver HD 3470
1. 先上官網http://support.amd.com/us/gpudownload/Pages/index.aspx選擇你的顯卡所適用的driver, 此範例是下載"ati-driver-installer-11-2-x86.x86_64.run"
2. 按照官方說明文件的安裝步驟,
進入你下載檔案的資料夾,輸入指令
$ sh ./ati-driver-installer-10-7-x86.x86_64.run
會跳出安裝畫面.
3. 選擇"Install Driver 8.753 on X.Org 7.5"->Continue
-> I Agree -> Automatic -> Continue.
4. 安裝完Exit
5. 依照官方文件現在還沒安裝完全,需到終端機輸入以下命令
$ cd /usr/bin/
$ sudo aticonfig --initial
6. 重新開機,即安裝完成.
2. 按照官方說明文件的安裝步驟,
進入你下載檔案的資料夾,輸入指令
$ sh ./ati-driver-installer-10-7-x86.x86_64.run
會跳出安裝畫面.
3. 選擇"Install Driver 8.753 on X.Org 7.5"->Continue
-> I Agree -> Automatic -> Continue.
4. 安裝完Exit
5. 依照官方文件現在還沒安裝完全,需到終端機輸入以下命令
$ cd /usr/bin/
$ sudo aticonfig --initial
6. 重新開機,即安裝完成.
ubuntu 10.04 移除ati driver
照著官方驅動程式的說明pdf文件
$ cd /usr/share/ati/
$ sh ./fglrx-uninstall.sh
ati driver移除完成.
權限不足指令前面可加sudo.
$ cd /usr/share/ati/
$ sh ./fglrx-uninstall.sh
ati driver移除完成.
權限不足指令前面可加sudo.
訂閱:
文章 (Atom)