java中能否方便的调用c++开发的类封装的对象? 我正在开发一套设备的应用接口,是准备用C++开发的。有部份客户是使用java平台开发应用的,所以我设计api时希望java用户能够方便的使用。查看了一些资料,java可以用JNI方便的调用c++写的dll中的接口函数,可以找到很多例子。但是所有例子都是介绍调用接口函数的,就是说dll都是由单个的函数组成的。我想希望的能用c++设计出用类封装的动态链接库,但是不知道java是否可以方便的调用动态库中的类对象呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接调用是不行的,jni只认特定名称的函数如果你想调用已有的dll文件的话,按照一下步骤做:1、设计java文件,使其每一个native函数对应已有dll的函数2、用javah命令从class文件中生成.h头文件3、将.h文件里面的所有函数实现一遍,每个函数内部调用并返回已有dll的函数的结果4、生成jni的dll文件,把它和原先的dll文件一同放到PATH对应的路径下,之后就能用java调用了 谢谢回答。楼上的几位都没有明白我的问题,我并不是想问是否可以直接调用的问题,我是想问能否调用用c++设计的class,而非函数。能查到的很多的使用JNI的例子,都是调用动态链接中的函数的。也就是说dll本身是由函数封装而成的,可如果是class呢,如何调用? 不能直接调用,java只能调用函数 jxl的行高和列宽是什么单位? 将excel内容存入数组中 一个java编程问题! 编码问题 大哥哥们,北京丫头问一个问题希望大家不要见笑····· 怎样重载jtree中的回车键事件? 哪有visual j++ 6.0下载!!!急急急!!!! Frame frame = new Frame();为什么在linux中通不过? 大家说Java Network Programming这本书怎么样? 谁能给我举个画象股票一样的k线的例子?答者给分 问一个java正则表达式,实在看不出来是匹配什么的 Java 网络编程中读取数据问题
2、用javah命令从class文件中生成.h头文件
3、将.h文件里面的所有函数实现一遍,每个函数内部调用并返回已有dll的函数的结果
4、生成jni的dll文件,把它和原先的dll文件一同放到PATH对应的路径下,之后就能用java调用了