java語言

當前位置 /首頁/計算機/java語言/列表

Java中Jni呼叫DLL檔案試驗

下面是小編整理的Java中Jni呼叫DLL檔案試驗內容,希望可以為您帶來幫助!更多內容請關注應屆畢業生考試網!

Java中Jni呼叫DLL檔案試驗

所有檔案均在E:路徑下。

安裝jdk1.6.0_07

安裝了VC++6.0

第一步,

第二步,

E:>javac

得到

s

第三步,

E:>javah HelloWorld

得到

HelloWorld.h

第四步,

編寫一個C檔案

HelloWorldImp.c

第五步,

使用cl編譯

第六步,

成功

後來繼續試驗,目標是Java呼叫印表機的,方法是dll呼叫dll:建立中間dll,兼顧Jni方法,呼叫實現動作。(提前告訴您結果:我失敗了)

------------------------下面有原始碼:

所有檔案均在E:路徑下。

安裝jdk1.6.0_07

安裝了VC++6.0

第一步,

/**

* @author pinkfloyd

*

*/

public class HelloWorld {

/**

* @param args

*/

public static void main(String[] args) {

// TODO 自動生成方法存根

new HelloWorld()layHelloWorld();

}

public native void displayHelloWorld();

static{

Library("hello");

}

}

第二步,

E:>javac

得到

s

第三步,

E:>javah HelloWorld

得到

HelloWorld.h

/* DO NOT EDIT THIS FILE - it is machine generated */

#include <jni.h>

/* Header for class HelloWorld */

#ifndef _Included_HelloWorld

#define _Included_HelloWorld

#ifdef __cplusplus

extern "C" {

#endif

/*

* Class: HelloWorld

* Method: displayHelloWorld

* Signature: ()V

*/

JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld

(JNIEnv *, jobject);

#ifdef __cplusplus

}

#endif

#endif

第四步,

編寫一個C檔案

HelloWorldImp.c

#include "jni.h"

#include "HelloWorld.h"

JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj) {

printf("Hello world!n");

return;

}

TAG標籤:試驗 呼叫 DLL JAVA JNI #