欢迎来到天天文库
浏览记录
ID:59254622
大小:63.85 KB
页数:3页
时间:2020-09-08
《java调用C或C++动态库.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java程序调用dll动态库的方法1.发现问题现行许多开源库都是用C/C++语言编写的动态库,要在java中调用,需要使用java提供的JNI。在使用JNI时,需要先将动态库中接口函数提取出来通过JAVAH生成.h文件,将.h文件加载到动态库中编译生成新的java动态库,这样java就可以调用该动态库中接口函数。2.开发环境操作系统:Windows7开发语言:java、VC++Java开发环境:Eclipse4.5.1、jdk1.7VC++开发环境:Visualstudio20103.解决方案1、首先新建testComdll.java文件,加入第三方接口
2、,实现接口本地化。图3-1编写的testComdll.java文件2、生成.h文件先将目录切换到testComdll.java文件处,在控制台执行javactestComdll.java和javahtestComdll生成java的.h文件testComdll.h图3-2生成.h文件1、用VC生成动态库打开VC2010建立一个空的dll工程,把testComdll.h和JNI接口相关的jni.h、jin_md.h文件加入到工程当中,在testdll.cpp文件中写入接口实现函数,如下图:图3-3dll动态库接口实现函数2、运行java程序将VC生成的动态
3、库testdll.dll,放入jre的安装目录,我这边的安装目录是:D:Javajre7bin。放入改目录后,在控制台中运行javatestComdll,看到打印出10,说明接口函数调用成功。图3-4运行testComdll.java程序4.总结在开源编程中Java调用C/C++语言接口,不可避免的需要用到JNI调用dll。需要先用javah命令将java中的代用程序生成.h文件,之后在编译dll动态库的时候,需要加入javah命令生成的*.h文件和JNI头文件jni.h和jni_md.h文件,生成新的dll动态库。将dll动态库程序放入JRE包的
4、bin文件下,就可以实现java直接调用C语言接口。
此文档下载收益归作者所有