java语言 百分网手机站

Java中Jni调用DLL文件试验

时间:2020-10-05 20:31:35 java语言 我要投稿

Java中Jni调用DLL文件试验

  下面是小编整理的Java中Jni调用DLL文件试验内容,希望可以为您带来帮助!更多内容请关注应届毕业生考试网!

  所有文件均在E:\路径下。

  安装jdk1.6.0_07

  安装了VC++6.0

  第一步,

  HelloWorld.java

  第二步,

  E:\>javac HelloWorld.java

  得到

  HelloWorld.class

  第三步,

  E:\>javah HelloWorld

  得到

  HelloWorld.h

  第四步,

  编写一个C文件

  HelloWorldImp.c

  第五步,

  使用cl编译

  第六步,

  成功

  后来继续试验,目标是Java调用打印机的tsclib.dll,方法是dll调用dll:建立中间dll,兼顾Jni方法,调用tsclib.dll实现动作。(提前告诉您结果:我失败了)

  ------------------------下面有源码:

  所有文件均在E:\路径下。

  安装jdk1.6.0_07

  安装了VC++6.0

  第一步,

  HelloWorld.java

  /**

  * @author pinkfloyd

  *

  */

  public class HelloWorld {

  /**

  * @param args

  */

  public static void main(String[] args) {

  // TODO 自动生成方法存根

  new HelloWorld().displayHelloWorld();

  }

  public native void displayHelloWorld();

  static{

  System.loadLibrary("hello");

  }

  }

  第二步,

  E:\>javac HelloWorld.java

  得到

  HelloWorld.class

  第三步,

  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;

  }

【Java中Jni调用DLL文件试验】相关文章:

JNI是怎样java调用c动态库12-05

关于java调用bat文件的方法11-29

在Java中调用存储的过程11-23

JAVA JNI函数的注册过程介绍11-26

Java中传值调用的理解和透析11-25

java调用的几个方法12-04

Java远程方法调用RMI11-25

java调用c函数的实例11-28

Java将对象保存到文件中再从文件中读取对象的方法推荐11-30

Java的jar文件中读取数据的方法11-27