java调用C或C++动态库.docx

java调用C或C++动态库.docx

ID:59254622

大小:63.85 KB

页数:3页

时间:2020-09-08

java调用C或C++动态库.docx_第1页
java调用C或C++动态库.docx_第2页
java调用C或C++动态库.docx_第3页
资源描述:

《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语言接口。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。