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

2025-12-22 00:11:16

1、进入eclipse,新建C++项目,选择共享库,项目名称:javadll.

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

2、进入项目属性,选中资源,把文本编码改为utf-8.

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

3、添加java的jni头文件的路径。

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

4、把c++链接器标志改为:-Wl,--add-stdcall-alias。点击“ok".

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

5、新建一个目录,存放源文件。

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

6、把上一篇生成的头文件javajni_javajni.h 文件,复制到c++项目的存放源文件的目录中。下图是我的存放目录。

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

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

7、新建一个c++的文件:javajni_javajni.cpp。

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

8、添加代码:返回字符串、整型、双精度

#include "javajni_javajni.h"

JNIEXPORT jstring JNICALL Java_javajni_javajni_getstring

  (JNIEnv *env, jclass)

{

const char * str="java调用动态库!";

return env->NewStringUTF(str);

}

JNIEXPORT jint JNICALL Java_javajni_javajni_getint

  (JNIEnv *env, jclass)

{

int zs=12345678;

return (jint)zs;

}

JNIEXPORT jdouble JNICALL Java_javajni_javajni_getdouble

  (JNIEnv *env, jclass)

{

double dl=123456.0789;

return (jdouble)dl;

}

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

9、选中项目,构建项目,dll文件生成。

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

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

10、把生成的libjavadll.dll文件拷贝到java项目中。下图是我的目录。

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

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

11、在打开上节java项目,添加代码:

static{

System.loadLibrary("libjavadll");

}

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

12、运行javajni项目,调用dll函数正常!

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢