1. 程式人生 > >Eclipse中java專案呼叫DLL

Eclipse中java專案呼叫DLL

java工程路徑:D:\workspace

vc 工程路徑D:\workspace_c

JDK路徑:D:\jdk1.6.0_23

1、建立java專案

在Eclipse中建立java工程jnidemo,如圖1所示:

圖1

當儲存TestNative.java檔案時,Eclipse會自動在jnidemo專案的bin目錄下編譯生成TestNative.class檔案,如圖2所示:

圖2

2、生成.h檔案

使用命令列方式,進入Eclipse下工程目錄的bin目錄,然後執行javah  com.hik.wyx.TestNative,編譯出頭檔案,如圖3所示:

圖3

此時會在bin目錄下生成com_hik_wyx_TestNative.h檔案,如圖4所示:

圖4

3、新建VC工程

在vc6.0環境中建立一個native的DLL工程,如圖5、6所示:

圖5

圖6

點選“完成”按鈕,之後新建一個TestNative.cpp檔案,如圖7所示:

圖7

TestNative.cpp檔案內容:

#include"com_hik_wyx_TestNative.h"

JNIEXPORTvoid JNICALL Java_com_hik_wyx_TestNative_sayHello(JNIEnv *env,jobject obj){

       printf("Hello World !\n");

       return;

}

4、新增JNI檔案路徑

工具—選項中,設定平臺及目錄,在目錄中新增JDK的include與win32資料夾,方便以後的JNI使用(這裡的jni.h檔案位於Java安裝目錄下的JDK1.6.023\include,jni_md.h檔案位於JDK1.6.0 23\include\win32下,因為jni.h檔案引用了jni_md.h檔案,所以必須將這兩個檔案置於你的VC工程下;或者直接放到VC安裝目錄的include目錄下,方便以後使用)。如圖8所示:

圖8

5、生成DLL

編譯TestNative.cpp在VC專案工程下的Debug目錄下生成native.dll檔案,如圖9所示:

圖9

6、Java工程設定DLL路徑

將native.dll檔案拷貝到Java工程bin目錄下,如圖10所示:

圖10

7、在eclipse環境變數中增加nativelibrary location支援

點選Java專案右鍵—Build Path—ConfigureBuild Path,如圖11所示:

圖11

圖12

如圖12所示,增加native library location支援,也就是將具體的DLL檔案加入到Java專案中。

注:步驟7的另外一種方式,就是在步驟6中將native.dll檔案拷貝到JDK安裝路徑的bin目錄下。(考慮Java專案的遷移,建議使用將DLL拷貝到Java專案工程路徑下的方式)

8、測試DLL呼叫

在TestNative.java檔案中加入測試語句,進行DLL呼叫。

publicstaticvoid main(String[] args) {

System.loadLibrary("native");                

new TestNative().sayHello();

}

測試結果:

相關推薦

Eclipsejava專案呼叫DLL

java工程路徑:D:\workspace vc 工程路徑D:\workspace_c JDK路徑:D:\jdk1.6.0_23 1、建立java專案 在Eclipse中建立java工程jnidemo,如圖1所示: 圖1 當儲存TestNative.java檔案時

EclipseJava專案打包成jar包並生成可獨立執行的exe檔案

目錄 1、準備工作 (1)JAR file和Runnable JAR file,它們的不同點在哪? The runnable jar contains a MANIFEST.MF file, which defines the Main class

eclipsejava專案的build path詳解

BuildPath中只支援加入jar檔案,具體方法如下: 在eclips裡在工程名上右鍵->build path->contigure bud path->java build path裡有個 libraries-> add external j

EclipseJava專案的紅色感嘆號和黃色盾牌感嘆號

紅色感嘆號 在Eclipse中引入JavaWeb專案進行二次開發,可引入之後發現有紅色感嘆號,參考園友方法後把解決方法記錄下來以備檢視,也希望對需要的人有所幫助。 原因:顯示紅色感嘆號是因為jar包的路徑不對 解決:在專案上右擊Build Path -> Co

eclipseweb專案部署以後jsp的java檔案找不到問題(Tomcat配置serverlocations)

我的開發環境:eclipse kepler (4.3)+tomcat7.0.42. 在我想看eclipse中web專案jsp檔案被tomcat轉換成java以後的java原始檔的位置。發現正常情況下的webapps以下。沒有看到我部署的專案 同一時候,work資料夾(jsp的工

EclipseAndroid專案執行時出現Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse l

  本文轉載自網際網路,如有侵權,請聯絡我及時刪除。謝謝。 系統環境:Win7-64位 開發環境:eclipse-64位   右鍵工程 -> Build Path -> Configure Build Path -> 點選Libraries

eclipse專案無法在tomcat釋出(project facet java version 1.7 is not supported)

在tomcat中釋出專案時無法新增專案,錯誤資訊:project facet java version 1.7 is not supported,如下圖 這是由於你的tomcat的jdk版本低於你專案的jdk版本導致的。 解決方案有2個:修改你的tomca

java開發工具IntelliJ或eclipsemaven專案pom檔案錯誤failed to read artifact descriptor for xx.jar問題解決辦法

下載安裝好開發軟體之後,IntelliJ會自動對maven外掛進行配置,file-setting 輸入maven可檢視到配置資訊: pom檔案的編寫過程會出現project錯誤, 第一種想法:在第一張圖中home directory 和 setting file 第二種方法:

java通過JNA呼叫dll JNI的替代者—使用JNA訪問Java外部功能介面

---恢復內容開始--- 1. JNA簡單介紹 先說JNI(Java Native Interface)吧,有過不同語言間通訊經歷的一般都知道,它允許Java程式碼和其他語言(尤其C/C++)寫的程式碼進行互動,只要遵守呼叫約定即可。首先看下JNI呼叫C/C++的過程,注意寫程式時自下而上,呼叫時自上而下

eclipsejava Dynamatic web的創建過程(或者eclipsejsp的創建或eclipse開發環境(jdk,eclipse,tomcat)的測試)

alt 進行 lan .cn ges log image oct ips 1.啟動eclipse程序。 2.File-New->Dynamatic web project,如圖 3.右擊項目名-->new-->New jsp file---> 點

Eclipsemaven專案報錯:org.springframework.web.filter.CharacterEncodingFilter

寫了一個demo,發現在tomcat中部署完專案,啟動時報錯。 1,問題描述 2,解決辦法 1)程式在部署完成後報錯,說明是程式是編譯通過的,即編譯編譯路徑Java Build Path沒問題。 2)此時檢視 專案Properties—Deployment

eclipsegit專案切換git地址

操作:將一個git專案提交到另一個新建的git地址中 第一次操作有些錯誤,記錄一下正確流程: 斷開連線(team -> disconnect) team -> share project (選完git後,不用更改) 

EclipseJava Web開發外掛安裝

eclipse官方網站上下載的標準版Eclipse是沒有web開發環境的,為了能夠進行web開發,需要安裝一些外掛。web開發需要的外掛有 1.EMF: Downloads | Project home  基於Eclipse的模型框架。它是Eclipse MDA(Model Dri

EclipseWeb專案出現感嘆或紅叉該怎麼解決?

有時候,我們從Eclipse中匯入以前建立的Web工程時,工程名左下角會出現紅色的感嘆號或者紅叉,而Web工程內部卻沒有紅叉,而且還沒有問題的線索,很是惱火!現在我們來仔細的說說這兩個問題。 當匯入工程後,先是在工程名出現紅色感嘆號,這是因為工程本身的執行環境與當前Eclipse中的執行環境

EclipseMaven專案執行Maven update project 專案JRE System Library變為1.5的解決辦法

1:問題描述 Eclipse中的Maven專案,本地Java版本1.8,每次右擊專案--maven--update project(Alt+F5) 後,專案JRE System Library 都變為1.5。 2:異常原因 檢視Maven官網  如下: This i

解決eclipseweb專案部署至Tomcat在Tomcat安裝目錄下找不到專案問題

必須知道的一點 Eclipse的web工程至Tomcat預設的部署目錄是在工程空間下,而myeclipse預設是在Tomcat安裝目錄下的(在webapps和work目錄下都會有你部署的專案) 那麼如何將部署目錄改為Tomcat安裝目錄 1.在Eclipse中新增Tomcat伺服

關於在Eclipsespring專案類的動態引入

在eclipse中建立spring專案,使用spring Webflux中的Router Function技術進行動態引入 如下面的程式碼進行動態引入 @Bean RouterFunction<ServerResponse> userRouter(UserHandler h

eclipse部署專案web有時候訪問jsp會丟擲以下類似的異常資訊

如果在eclipse中部署專案web有時候訪問jsp會丟擲以下類似的異常資訊 : org.apache.jasper.JasperException:The absolute uri: [http://java.sun.com/jsp](http://java.sun.com

新手通過SVN向eclipse匯入專案注意事項

該文章進行的前提是,jdk、eclipse、tomcat、maven已安裝完成 要從svn上獲取專案資料,首先要安裝svn 1)通過help->installsoft->svn->add 填入http://subclipse.tigris.org/update_1.8.x  

Java專案呼叫微信支付到指定銀行卡

public static EnterpriceToCustomer WXPayToBC(String encBankAcctNo, String encBankAcctName, String bank_code, String desc, String amount) throws Ex