java調用dll例子

來源:互聯網
上載者:User

最佳答案

1. 編寫範例文檔 public class TestNative{   private native static int Max(int a,int b);     public static void main(String[] args)   {     System.out.println(Max(4,5));   }    static   {     System.loadLibrary("VCdll");   } } 其中 LoadLibrary中的DLL檔案名稱可以隨便定.只要做好的動態連結程式庫改名成這個字串就可以了.而native函數的來源就是該動態連結程式庫. 2. 做好該步準備以後,用javac TestNative.java產生TestNative.class. 檢驗文法. 3. 語法檢查通過以後,用javah TestNative產生TestNative.h的C++標頭檔. 4. 用VC++6.0建立dll檔案:   <1>msdev->new->project->win32 Dynamic-Link Library   <2>Enter project name (e.g. VCdll)   <3>choose "An empty DLL project"->finish   <4>將3產生的TestNative.h和jdk下的jni.h和jni_md.h加入到工程中去   <5>Create a c++ file, implements the native method. as follows://TestNative.cpp#include "TestNative.h"JNIEXPORT jint JNICALL Java_TestNative_Max  (JNIEnv * a, jclass b, jint x, jint y){ return x > y ? x : y;}備忘: A  其中的jni.h通常在 jdk/include/ 可以先拷貝到VC安裝目錄下的include目錄下.一勞永逸,以後可以方便使用JNI技術. B  全部的資料類型需要考慮Java和VC的介面問題.用jint  jstring 等. C  函數名稱和自動產生的.h檔案中規定的一致.命名規則是: Java_使用類_方法名  6. 全編譯一下VC++工程.   如果沒有出錯,則此時產生動態連結程式庫成功.   把動態連結程式庫VCdll.dll拷貝到TestNative.java所在的目錄上. 7.運行java TestNative. OK :-) 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.