博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JNA C语言与Java类型转换(不定期更新)
阅读量:6234 次
发布时间:2019-06-21

本文共 1154 字,大约阅读时间需要 3 分钟。

首先是官方给出来的映射

 


 

以下是自己在配置过程中通过网上各种资料查找到的映射,(欢迎评论补充,我会一一补充进来)

C语言 Java
char * String (作为入口参数)
byte[]  (作为出口参数)
unsigned char * String  (作为入口参数)(不确定,没具体使用过
Pointer (作为出口参数)
int * IntByReference
   
   

 

 

 

 

 

 

 


 

结构体

在Java中需要设计一个类并继承Structure类

Demo:

1 public class IDInfo extends Structure { 2  3     public byte[] name       = new byte[32]; //姓名 4     public byte[] sex        = new byte[4]; //性别 5     public byte[] nation     = new byte[12]; //民族 6     public byte[] birthday   = new byte[20]; //出生日期 7  8     public static class ByValue extends IDInfo implements Structure.ByValue { 9     }10 11     public static class ByReference extends IDInfo implements Structure.ByReference {12     }13 14     @Override15     protected List
getFieldOrder() {16 // 顺序必须与C语言机构体中的顺序一致17 List
fieldOrderList = new ArrayList
();18 fieldOrderList.add("name"); //姓名19 fieldOrderList.add("sex"); //性别20 fieldOrderList.add("nation"); //民族21 fieldOrderList.add("birthday"); //出生日期22 23 return fieldOrderList;24 }25 26 }

 

 

转载于:https://www.cnblogs.com/cnliang/p/10900202.html

你可能感兴趣的文章
CSS3盒子模型
查看>>
毕业课题之------------路面区域增强和总体检測过程
查看>>
C#中一些字符串操作的经常使用使用方法
查看>>
ExtJs4.1布局具体解释
查看>>
jQuery 插件开发全解析
查看>>
DEDE中 field:rel 是什么意思,起一个什么样的作用效果
查看>>
【图片】批量获取几万张图片
查看>>
Spring经常使用属性的注入及属性编辑器
查看>>
FreeRTOS系列第13篇---FreeRTOS内核控制
查看>>
python入门小记
查看>>
将逻辑卷降为物理分区
查看>>
CMake 入门实战【转】
查看>>
软硬件之共生之道——一千零一夜的启发
查看>>
redis 性能建议
查看>>
Android MaoZhuaWeiBo开发Service抓取个人信息-2
查看>>
Codefoces 436 B. Om Nom and Spiders
查看>>
流程控制------if else分支语句
查看>>
禁用Clusterware在系统启动后自己主动启动
查看>>
Storm编程入门API系列之Storm的Topology默认Workers、默认executors和默认tasks数目
查看>>
Json转java对象和List集合
查看>>