codefans

          導航

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統(tǒng)計

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          程序設計鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          利用VC++6.0實現(xiàn)JNI的最簡單的例子(轉載)

          http://www.chinaunix.net 作者:ludejun98  發(fā)表于:2004-03-03 11:16:06

          最近項目中設計到JNI的技術,對于VC++我是一知半解.JNI是知道和Native方法的接口,從來沒用過.但是摸了一會,還是感覺有點門路,搞定了JNI的難題以后,對于自己這點小小的進步不敢隱瞞,公開出來給還不了解的兄弟們作個參考.

          Java中使用JNI調用DLL
          1 編寫范例文檔
          public class TestNative{
            
            private native int add(int x,int y);
            
            public static void main(String[] args) {
              TestNative hh = new TestNative();
              int r = hh.add(30,20);
              System.out.println("result = "+r);
            }

            static {
              System.loadLibrary("DLL_0305");
            }
          }
          其中
          LoadLibrary中的DLL文件名稱可以隨便定.只要做好的動態(tài)鏈接庫改名成這個字符串就可以了.而native函數(shù)的來源就是該動態(tài)鏈接庫.
          2. 做好該步準備以后,用javac TestNative.java生成.class.檢驗語法.
          3. 語法檢查通過以后,用javah TestNative生成.h的C頭文件.
          4. 打開VC++6.0,新建-> 工程 -> win32 Dynamic-Link Library .在向導中選擇空工程.
          5. 把剛才javah生成的那個頭文件加入工程 .然后 文件->新建->textFile 自己做一個.c文件.實現(xiàn)自己的native函數(shù).清單如下:

          #include<jni.h>

          JNIEXPORT jint JNICALL Java_TestNative_add
            (JNIEnv *ev, jobject obj, jint x, jint y)
          {
          return x+y;
          }
          備注:
          A  其中的jni.h通常在 jdk\include\ 可以先拷貝到VC安裝目錄下的include目錄下.一勞永逸,以后可以方便使用JNI技術.
          B  全部的數(shù)據(jù)類型需要考慮Java和VC的接口問題.用jint  jstring 等.
          C  函數(shù)名稱和自動生成的.h文件中規(guī)定的一致.命名規(guī)則是: Java_使用類_方法名 
          6 全編譯一下工程.
            如果沒有出錯,則此時生成動態(tài)鏈接庫成功.
            把動態(tài)鏈接庫拷貝到TestNative.java所在的目錄上.
          7 運行java TestNative看結果吧.

          posted on 2005-11-05 10:56 春雷的博客 閱讀(120) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 涿州市| 盐亭县| 大足县| 任丘市| 泰州市| 建瓯市| 噶尔县| 沅江市| 岑溪市| 白水县| 五峰| 兴城市| 芒康县| 西畴县| 富顺县| 桃园市| 沧州市| 同德县| 长白| 辽阳市| 普兰店市| 视频| 武定县| 景德镇市| 连江县| 津南区| 来凤县| 藁城市| 张家界市| 滦平县| 溆浦县| 德清县| 康乐县| 青冈县| 仁化县| 蓝田县| 巍山| 迁安市| 唐山市| 新竹市| 汨罗市|