首页 > 软件开发 > JAVA >

java调用dll动态库(2/2)

来源:互联网 2023-03-16 19:21:12 497

上次讲解了生成dll的头文件,这次把头文件生成dll文件让java项目调用。我写的经验对你学习java有帮助的话,给我投票或者收藏!M4q办公区 - 实用经验教程分享!

http://v.youku.com/v_show/id_XMzkyMjUyNjkwOA==.htmlM4q办公区 - 实用经验教程分享!

1java调用dll动态库(1/2)M4q办公区 - 实用经验教程分享!

2eclipse安装C 插件M4q办公区 - 实用经验教程分享!

工具/原料

  • eclipse mars 2
  • mingw4.4.0

方法/步骤

  • 1

    进入eclipse,新建C 项目,选择共享库,项目名称:javadll.M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 2

    进入项目属性,选中资源,把文本编码改为utf-8.M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 3

    添加java的jni头文件的路径。M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 4

    把c 链接器标志改为:-Wl,--add-stdcall-alias。点击“ok".M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 5

    新建一个目录,存放源文件。M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 6

    把上一篇生成的头文件javajni_javajni.h 文件,复制到c 项目的存放源文件的目录中。下图是我的存放目录。M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 7

    新建一个c 的文件:javajni_javajni.cpp。M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 8

    添加代码:返回字符串、整型、双精度M4q办公区 - 实用经验教程分享!

    #include "javajni_javajni.h"M4q办公区 - 实用经验教程分享!

    M4q办公区 - 实用经验教程分享!

    JNIEXPORT jstring JNICALL Java_javajni_javajni_getstringM4q办公区 - 实用经验教程分享!

    (JNIEnv *env, jclass)M4q办公区 - 实用经验教程分享!

    {M4q办公区 - 实用经验教程分享!

    const char * str="java调用动态库!";M4q办公区 - 实用经验教程分享!

    return env->NewStringUTF(str);M4q办公区 - 实用经验教程分享!

    }M4q办公区 - 实用经验教程分享!

    M4q办公区 - 实用经验教程分享!

    JNIEXPORT jint JNICALL Java_javajni_javajni_getintM4q办公区 - 实用经验教程分享!

    (JNIEnv *env, jclass)M4q办公区 - 实用经验教程分享!

    {M4q办公区 - 实用经验教程分享!

    int zs=12345678;M4q办公区 - 实用经验教程分享!

    return (jint)zs;M4q办公区 - 实用经验教程分享!

    }M4q办公区 - 实用经验教程分享!

    M4q办公区 - 实用经验教程分享!

    JNIEXPORT jdouble JNICALL Java_javajni_javajni_getdoubleM4q办公区 - 实用经验教程分享!

    (JNIEnv *env, jclass)M4q办公区 - 实用经验教程分享!

    {M4q办公区 - 实用经验教程分享!

    double dl=123456.0789;M4q办公区 - 实用经验教程分享!

    return (jdouble)dl;M4q办公区 - 实用经验教程分享!

    }M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 9

    选中项目,构建项目,dll文件生成。M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 10

    把生成的libjavadll.dll文件拷贝到java项目中。下图是我的目录。M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 11

    在打开上节java项目,添加代码:M4q办公区 - 实用经验教程分享!

    static{M4q办公区 - 实用经验教程分享!

    System.loadLibrary("libjavadll");M4q办公区 - 实用经验教程分享!

    }M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 12

    运行javajni项目,调用dll函数正常!M4q办公区 - 实用经验教程分享!

    java调用dll动态库(2/2)M4q办公区 - 实用经验教程分享!

  • 12此文章未经许可获取自百度经验
  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!M4q办公区 - 实用经验教程分享!


    标签: JAVAECLIPSE

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码