在Java中,要使用动态库,就要使用到 JNI。首先来看看百度百科对JNI的描述:从Java1.1开始,Java Native Interface(JNI)标准成为Java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。 
使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的。例如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。JNI标准至少保证本地代码能工作在任何Java虚拟机环境下。闲话不说,直接上示例。

本例基于Windows平台,首先生成被调用的目的dll动态库:Lib4JNI.dll

Lib4JNI动态库中导出了一个add方法。在本例中用JNI去调用。

Java中使用JNI调用本地动态库的方法相关推荐

  1. python调用c++动态库 linux_linux中使用boost.python调用c++动态库的方法

    前言 最近开始使用 robot framework 测试c++的动态库,robot framework 是跑在 windows 上面,c++动态库是跑在远程linux主机上面.测试办法是让 robot ...

  2. Android通过jni调用本地c/c++接口方法总结

    网上有网友问android的原生应用,上层java代码如何通过jni调用本地的c/c++接口或第三方动态库 ?之前搞过android应用开发和底层c/c++接口开发都是一个人搞定,觉得还是蛮简单的.其 ...

  3. windows7下,Java中利用JNI调用c++生成的动态库的使用步骤

    1.从http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html下载jdk-7u2-wi ...

  4. JAVA程序通过JNI调用C/C++库

    java程序如何调用c/c++库中的函数主要分为三个步骤: 1. 加载库文件. System.loadLibrary 2. 找到函数( java函数<----映射---->c函数 ) 3. ...

  5. Windows系统下通过JNI调用dll动态库的实现

    目的:java代码使用jni获取数据 工具: eclipse + Microsoft visual studio (c++) 业务代码: Java代码业务实现: package com.weip.jn ...

  6. go语言调用so动态库的方法

    一.前言 最近在学习go,因为需要调用c语言打包成的so动态库里面的方法,避免自己再去造轮子,所以想直接使用golang调用so,但是参考了其他博客大佬写的,我每一步原封不动的写下来,结果都是一堆错误 ...

  7. Ubuntu下,Java中利用JNI调用codeblocks c++生成的动态库的使用步骤

    1.  打开新立得包管理器,搜索JDK,选择openjdk-6-jdk安装: 2.  打开Ubuntu软件中心,搜索Eclipse,选择Eclipse集成开发环境,安装: 3.  打开Eclipse, ...

  8. Java调用so动态库方法

    在Java里面调用so动态库的方法 1.引入jna依赖 <dependency><groupId>net.java.dev.jna</groupId><art ...

  9. JNA框架调用dll动态库(给你整得明明白白)

    java调用dll动态库的方法,总的有三种:JNI.JNA.JNative.其中JNA调用DLL是最方便的.网上文章一大堆,我就不废话了. 使用JNA框架调用DLL动态库,步骤如下: 一.环境准备 1 ...

最新文章

  1. Redis设计与实现阅读总结(二)单机数据库的实现
  2. Hystrix默认超时时间
  3. Python 中的numpy 库
  4. python调用metasploit自动攻击_Python实现远程调用MetaSploit的方法
  5. java快捷键查看目录,java取得快捷方式指向的路径
  6. mysql导入greenplum_greenPlum中通过gpfdist导入文本数据到数据库表中
  7. 探寻安全管理平台(SOC)项目的关键成功因素
  8. 联发科5G芯片发布:7nm,4.7 Gbps下载速度,独立AI架构
  9. 语音自动识别文字软件
  10. squid端口转发_Squid服务器三种代理方式详解
  11. php mysql账号注册_php mysql用户注册登陆代码_PHP教程
  12. 【科睿唯安】注意,最新SCI/SSCI列表,警惕这7本期刊被剔除?
  13. 高等数学18讲(19版)反常积分的计算与敛散性判别
  14. tracert工作原理
  15. Evernote推出实体笔记本Evernote Business Notebook,支持搜索手写笔记,用实体便签将笔记同步到Evernote上的相应分类
  16. 数电Day06:主从触发器和边沿触发器,触发器的逻辑符号,时序波形
  17. 流量不清零:还在忽悠广大网民?
  18. JavaScript实现移动端跟手轮播图
  19. 阿里面试官鬼得很,问我为什么他们阿里要禁用Executors创建线程池?
  20. LT2611UXC-LVDS转HDMI2.0转换芯片

热门文章

  1. 百度SEO站群MTF直播整合导航网站源码 整合各类直播平台
  2. 小程序dialog ,警告:未找到 van-dialog 节点,请确认 selector 及 context 是否正确
  3. 小象电商是采用JAVA开发的B2B2C多用户商城系统。
  4. PHP在线自动发卡网源码 全新一键安装版
  5. Vue系列vue-router的动态路由使用(二)
  6. 浅谈C# Socket编程及C#如何使用多线程
  7. 大数据量分页存储过程效率测试附代码
  8. 实战 Comet 应用程序开发
  9. 清除浮动的最佳方案:clearfix
  10. 网页检测 AdBlock 的 6 种方法