• paip.java 调用c++ dll so总结


    paip.java 调用c++ dll so总结

    ///////JNA (这个ms sun 的)
    我目前正做着一个相关的项目,说白了JNA就是JNI的替代品,以前用JNI需要编译一层中间库,现在JNA直接调用C的库
    JNA的功能和P/Invoke类似,但编写方法与P/Invoke截然不同。JNA没有使用Annotation,而是通过编写一般的Java代码来实现。

    P/Invoke是.NET平台的机制。而JNA是Java平台上的一个开源类库,和其他类库没有什么区别。只需要在classpath下加入jna.jar包,就可以使用JNA

    JNA提供了一个动态的C语言编写的转发器,可以自动实现Java和C的数据类型映射。你不再需要编写那个烦人的C动态链接库。

    当然,这也意味着,使用JNA技术比使用JNI技术调用动态链接库会有些微的性能损失。可能速度会降低几倍。但对于绝大部分项目来说,影响不大。

    作者Attilax  艾龙,  EMAIL:1466519819@qq.com
    来源:attilax的专栏
    地址:http://blog.csdn.net/attilax

    ///////jnative 一个开源项目.

    jnative java/jna  java
    jna的量基本上是jnatv的10倍..


    参考
    Java调用.dll文件 - 抹去浮华,沉淀深度 - ITeye技术网站.htm (jnative)
    学习JNA,Jnative个人总结 - 80后的梦想 - ITeye技术网站.htm
    (impt)Java JNA 详解 - 梦想是奢侈品,向奢侈品进军 - 博客频道 - CSDN.NET.htm
    本文原名《使用JNA方便地调用原生函数》发表于2009年3月的“程序员”杂志上。
    [-]

        介绍
        实现原理
            调用原生函数
                使用JNA调用原生函数
                调用原生函数的模式
        和原生代码的类型映射
            和操作系统数据类型的对应表
            支持常见的数据类型的映射
        模拟结构体
            使用JNA调用使用Struct的C函数
                说明
            模拟复杂结构体
                结构体内部可以包含结构体对象的数组
                结构体内部可以包含结构体对象的指针的数组
        代码
            通过回调函数实现原生代码调用Java代码
            回调函数说明
        模拟指针
            使用PointerByReference模拟指向指针的指针
            模拟指针
            类详解

  • 相关阅读:
    部署webapp到web容器的三种方式(这里的web容器Tomcat)
    jquery1.8.3文档的一些问题(可能是我理解错了,不喜勿喷)
    JQuery异步请求之省略dataType的设置
    Tomcat启动一闪而过的问题(我是windows系统,所以查看的是.bat的文件)
    tomcat控制台乱码问题
    IDEA常用的快捷键和代码模板
    ajax返回问题
    php大文件下载问题
    微信企业付款到银行卡
    支付宝单笔转账支付功能
  • 原文地址:https://www.cnblogs.com/attilax/p/5964060.html
Copyright © 2020-2023  润新知