2010-07-13 48 views
1

我有一些dll文件(不是自定義的,不是我寫的),我需要在我的java項目中的這些文件中使用函數,這些函數是c/C++編寫的。我搜索了很多關於JNI的例子,但他們都是關於編寫自己的程序和dll,然後到達它們。另外我不認爲這些dll中存在dllexport,所以我猜dllimport/dllexport方法不可用。 我怎樣才能達到這些功能? 在此先感謝..使用dll中的函數,在java中

+3

看看JNA:http://en.wikipedia.org/wiki/Java_Native_Access – McDowell 2010-07-13 07:46:41

回答

2

我敢肯定,你已經看過在oracle的JNI教程。我快速瀏覽了一下這個部分,我認爲這並不意味着必須滿足特殊條件。

我給它一個嘗試與該DLL一個單一的,簡單的函數:

  1. simple clas s的使用的本地方法之一(另一個是容易的參數有一個簡單的只是主要方法啓動)
  2. Generate頭文件和
  3. run測試應用

如果DLL是不是 'JNI兼容'(不管這我你會知道,那麼你可能知道你必須重新編譯本地代碼。

+0

如果DLL的源代碼不可用,請編寫一些調用DLL的「原生」源代碼。 – reinierpost 2010-07-13 07:54:07