2010年8月30日 星期一

JNI的第一次接觸,完整步驟保證會.

這是一個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月21日 星期六

ubuntu 10.04 更新後黑屏解決方法

通常是因為ati或是其他的顯卡驅動裝置不相容,
導致開機後是黑屏.

解決辦法:

1. 在系統啟動時按shit=>出現GRUB選單=>選擇recovery mode(通常是第二個選項).
2. 進入後選擇FailSafeX=>使用預設設定=>之後重開機
3. 重開機進入系統後可移除顯示卡的驅動程式,重新找合適的版本安裝即可.

2010年8月15日 星期日

torrific代抓bt,取代miroko

由於今年7月起miroko改為收費制,不再提供免費服務,因此上網收尋找到了這個外國的bt代抓網站。

此網站優點跟miroko一樣,如果你要抓的檔在兩周內有人已經抓完了,就會瞬間完檔可立即下載.

詳細教學及注意事項請參考torrific(原btaccel)簡易註冊、代抓BT與下載教學

2010年8月12日 星期四

信封格式

直式:



橫式:



參考網頁:中華郵政

2010年8月3日 星期二

ubuntu 10.04 txt中文亂碼

開啟普通的txt檔中文無法顯示

解決辦法:
1.按 Alt+F2

2.執行 gconf-editor

3.到 apps > gedit-2 > preferences > encoding

4.在 auto_detected 添加 BIG5 並移到 CURRENT 前,如圖



完成.

2010年8月2日 星期一

ubuntu 10.04 無法關機 (電源未關)

不知從何時開始,我的電腦每次關機時都會停在黑畫面,電源卻不會自動關掉,只得手動關掉電源.

解決辦法:

1. 開啟終端機輸入gconf-editor,跳出組態編輯器.
$ gconf-editor

2. 左邊選擇資料夾目錄 [apps] -> [indicator-sessions]

3. 將 [ suppress_logout_restart_shutdown ]選項打勾如圖



完成

ubuntu 10.04 安裝 小畫家

採用KolourPaint,截圖如下:




安裝步驟
系統->管理->Saynaptic套件管理程式
搜尋kolourpaint如圖,標示為安裝->套用



下載安裝即完成.

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. 重新開機,即安裝完成.

ubuntu 10.04 移除ati driver

照著官方驅動程式的說明pdf文件

$ cd /usr/share/ati/
$ sh ./fglrx-uninstall.sh

ati driver移除完成.

權限不足指令前面可加sudo.