寻找一款练手的DLL文件
最近在研究JNA,就是用java调用c/c++之类的方法,想要拿dll来实战,想要一个dll文件,里面包含各种方法,方法参数带结构体(java叫对象,不知道其他语言叫什么),最好就是常用的类型都有(int,String 数组 包装类 对象)都有,这样我实战定义的时候才能实战到位。
需要带头文件,否则只有dll,没法清楚里面什么方法,和参数是什么类型。提前感谢。(ps:方法里最好有输出,这样我调用的时候能看到结果,当然没有也没关系)
本帖最后由 pzx521521 于 2022-4-18 14:17 编辑
https://wwu.lanzouf.com/il7Oo03ea9kh
注意位数, jna 必须和dll的位数对应 自己写一个啊 sam喵喵 发表于 2022-4-18 11:48
自己写一个啊
这话说的,第一我本地没开发环境,第二不是专业做这个的,写还得去学,想直接拿个现成的来用。毕竟会做这个的人写这些很快,不想浪费时间。 试着调用flashplayer安装后的那个ocx,也是dll,看看能不能做一个flashplayer。github上有个flash sink的开源就是类似功能 https://wws.lanzoul.com/iWRth03e8hadTXGYMailCamera.dll 调用函数CameraWindow可以截图不需要传参你试试看算是很简单的一个了 JNA也可以调用C#吧,试试LitJSON怎么样?一个轻量级的json解析处理库
https://litjson.net/ pzx521521 发表于 2022-4-18 14:10
https://wwu.lanzouf.com/il7Oo03ea9kh
注意位数, jna 必须和dll的位数对应
64位,能不能加两个 一个是参数是对象的,一个是返回包含对象的,不要简单的基本类型 本帖最后由 pzx521521 于 2022-4-18 16:39 编辑
dll在vs里面和mingw里面是不一样的
一般用 extern "C" 来兼容, 但是纯C 是不支持传对象的
vs 编译出来的 是可以看到导出函数的(.lib文件) 显式/隐式都可以
mingw 编译出来的 是看不到导出函数的(.a文件) 只能隐式
jna里面的类转换没有转换过估计不简单
包里面都给你编译上你看那个能用
实际操作中很少跨语言调用对象 因为各个语言底层的东西不一样 比如各种类型占用的字节数
https://wwu.lanzouf.com/ixt1W03el29a pzx521521 发表于 2022-4-18 16:33
dll在vs里面和mingw里面是不一样的
一般用 extern "C" 来兼容, 但是纯C 是不支持传对象的
朋友,你生成的不是64位的吧。
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'E:\jnacreator\DllDemo':
%1 不是有效的 Win32 应用程序。
页:
[1]
2