- 博客(22)
- 资源 (125)
- 问答 (1)
- 收藏
- 关注
原创 JNA(十八)FAQ
网上资料显示:把D:\CLion 2023.2.2\bin\mingw\bin目录下的libstdc+±6.dll复制到C:/Windows/System32下,我这边虽然依赖不报错了,但是jna还是会报上述错误。(参考:https://www.cnblogs.com/nayitian/p/15747551.html。文件),会有很多乱码,不要头疼,接下来只需要在第二段中找到PE两个字母,在其后的不远出会出现d?建议:千万不要把需要测试的dll放到system32下,否则会发生很多意想不到的问题。
2023-11-03 22:46:39 124
原创 JNA(十七)Linux环境SO文件生成与校验
Java应用大多数都是部署到Linux环境的,所以windows中开发的动态库最终要打包成linux支持的SO文件,最后在linux中运行这里的举例并没有用到我们之前写的代码,是因为要稍微麻烦一些,具体实践中,示例中的代码可以写在springboot项目中,并最后打包成jar文件,这样就可以解决依赖的问题这里主要演示SO文件的生成,以及加载SO文件需要注意的问题。
2023-11-03 22:44:48 365
原创 JNA(十二)用数组接收结构体数组的数据
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容结构体可能比较重要,大多数Java应用与共享库的交互基本是以结构体做为桥梁,这里是通过数组来接收结构体数组的数据仔细观察,c语言中定义一个结构体指针就可以了(单个星号)我们在java代码中定义一个数组,数组的长度可以更长,通过返回的参数取拿到实际的长度循环,实际情况我们也可以通过返回值获取长度,约定好就行。
2023-11-03 22:43:12 511
原创 JNA(十六)动态库回调Java
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容动态库中回调Java方法java中首先要定义一个接口并实现它,同时triggerCallback方法会把相应的参数也传入把实现类的实例与参数信息一并传入,C语言中通过函数指针来调用。
2023-11-02 22:18:40 277
原创 JNA(十五)Double指针与数组
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容double数组的操作漏掉了,现补上指针是通过引用(DoubleByReference)来定义的,而数组则是:PointerByReference数组的写入和读取都是通过偏移实现,其他数据类型应该也一样Native.getNativeSize可以获取指定类型占用的字节数。
2023-11-02 22:17:59 355
原创 JNA(十三)共用体
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容共用体共用体要与结构体结合使用要定义一个共用体中类型枚举,同时在结构体中也要定义类型的变量。
2023-11-02 22:16:39 68
原创 JNA(十一)结构体中包含结构体
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容结构体可能比较重要,大多数Java应用与共享库的交互基本是以结构体做为桥梁,这里是结构体中包含结构体结构体中包含结构体体现在Java上,就是类School中包含Student的引用。
2023-11-01 19:39:15 228 2
原创 JNA(十)结构体中字符串数组
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容结构体可能比较重要,大多数Java应用与共享库的交互基本是以结构体做为桥梁,这里是结构体中包含string数组的情形仔细观察,也可以通过ByValue的方式直接传对象到动态库中,而无需通过引用。
2023-11-01 19:38:19 231 1
原创 JNA(九)结构体中Double数组
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容结构体可能比较重要,大多数Java应用与共享库的交互基本是以结构体做为桥梁,这里是结构体中包含double数组的情形结构体中包含double类型的数组时,Java中取值是通过偏移实现的。
2023-11-01 19:37:29 289 1
原创 JNA(八)结构体数组
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容结构体可能比较重要,大多数Java应用与共享库的交互基本是以结构体做为桥梁,这里是结构体数组示例Student类中需要增加一个指针入参的构造引用可以通过toArray转化成数组,同时数组中的元素应该已经初始化了,因为可以直接调用而不报空指针异常如果输出的数据存在null的情况,可以尝试调用read方法。
2023-11-01 19:36:30 431 1
原创 JNA(七)结构体基础
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容结构体可能比较重要,大多数Java应用与共享库的交互基本是以结构体做为桥梁,这里是基础示例的使用在Java需要定义一个Student类去匹配结构体,这个类需要继承StructureJava中传值都是通过ByReference 和 ByValue来实现。
2023-10-31 22:25:02 157 1
原创 JNA(六)字符串操作三
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容后续的内容都是以set和get进行:所谓set,就是往动态库中发送;而get就是从动态库中获取受底层的影响,一个汉字随编码不同,而所占字节不一样这里与字符串操作二的区别,在于存储的地址不一样,这里省去了一层指针,把多个字符串存放在一起,通过\0分隔,通过偏移进行计算截取,性能要优于字符串操作二(每个字符串存放一个地址)
2023-10-31 22:23:21 181 1
原创 JNA(五)字符串操作二
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容后续的内容都是以set和get进行:所谓set,就是往动态库中发送;而get就是从动态库中获取传入数组是一个引用,所以同时还要告诉C数组的长度同样的,因为传过来的是引用,所以java中取字符串数组也需要知道长度这种玩法性能不是很好,更好的写法参考:JNA(六)字符串操作三至于为什么C语言中这么多星号的指针,本人也不是特别清楚(只能勉强看懂),另外注意java中的写法。
2023-10-31 22:21:56 166 1
原创 JNA(四)字符串操作一
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容后续的内容都是以set和get进行:所谓set,就是往动态库中发送;而get就是从动态库中获取。
2023-10-30 19:59:19 165
原创 JNA(三)数据类型映射与使用
本文主要学习动态库与Java数据类型映射以及基本调用1.演示了基本类型映射的使用方法2.对指针需要额外进行清理,特别的,Java控制台的输出顺序是:Java本地代码优先输出、其次是动态库中的输出,最后是动态库中进行清理的输出(不要问为什么,偶也是很清楚)
2023-10-30 19:58:31 716
原创 JNA(一) 环境准备
JNA 使 Java 程序可以轻松访问本地共享库,而无需编写 Java 代码之外的任何内容 - 不需要 JNIJNA 允许使用自然 Java 方法直接调用本地函数,和平常写代码一样,大多数情况下无需特殊处理或配置JNA 使用小型 JNI 库来动态调用本地代码,开发人员使用Java接口来描述目标动态库中的函数和结构。这使得调用本地平台功能变得非常容易,而不会产生为多个平台配置和构建 JNI 代码的高开销。
2023-10-30 19:56:35 414
原创 feign.FeignException$NotFound: status 404 reading
学习spring cloud中遇到一个问题:feign.FeignException$NotFound: status 404 reading,折腾很长时间后面发现这个地址对上就可以了。也就是左边的地址等于右边的两个地址相加。...
2019-11-27 19:10:11 1737
原创 百度地图小区边界(轮廓)处理
最近,查了很多资料都没法在百度地图上画出小区边界,经过一番研究后,终于发现了一种方式。以下是demo的相关说明:1. demo中小区相关信息查询是基于jsonp的方式处理2. 使用百度地图需要申请AK,demo中使用的是我个人的申请的,如果demo打开没有效果可能是AK过期了3. 因为小区轮廓百度没有公布相关API,demo中的接口有可能被百度关闭4. 可能有的小区并没有相关轮廓数
2017-09-11 16:34:15 20973 13
libCDynamicDemo.dll
2023-10-31
bootstrap docs
2017-08-02
node-v4.4.1-x86.msi
2016-03-27
vaadin-all-7.5.9.zip
2015-11-28
apache-ant-1.9.6-bin.zip(有英文chm文档)
2015-10-21
ztree 3.5.16
2014-09-22
quartz 1.8 & 2.2
2014-06-11
Notepad++ 6.5.5
2014-03-25
Spark 2.6.3
2013-08-29
apn client(android push notification 4.2.2)
2013-07-07
jasperreports.jar
2013-06-03
JQuery及JQuery UI 例子
2013-06-01
OSGi in Action.pdf(完整E文版,12M)
2013-03-23
Mathematica 5.0(4/4)
2013-02-19
Mathematica 5.0(3/4)
2013-02-19
Mathematica 5.0(2/4)
2013-02-19
Mathematica 5.0(1/4)
2013-02-19
MFC中,怎么监听另一个应用中表格的数据
2017-05-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人