当前位置:编程学习 > JAVA >>

java中能否方便的调用c++开发的类封装的对象?

我正在开发一套设备的应用接口,是准备用C++开发的。有部份客户是使用java平台开发应用的,所以我设计api时希望java用户能够方便的使用。

查看了一些资料,java可以用JNI方便的调用c++写的dll中的接口函数,可以找到很多例子。但是所有例子都是介绍调用接口函数的,就是说dll都是由单个的函数组成的。我想希望的能用c++设计出用类封装的动态链接库,但是不知道java是否可以方便的调用动态库中的类对象呢? --------------------编程问答-------------------- 直接调用是不行的,jni只认特定名称的函数

如果你想调用已有的dll文件的话,按照一下步骤做:

1、设计java文件,使其每一个native函数对应已有dll的函数
2、用javah命令从class文件中生成.h头文件
3、将.h文件里面的所有函数实现一遍,每个函数内部调用并返回已有dll的函数的结果
4、生成jni的dll文件,把它和原先的dll文件一同放到PATH对应的路径下,之后就能用java调用了 --------------------编程问答--------------------
引用 1 楼  的回复:
直接调用是不行的,jni只认特定名称的函数

如果你想调用已有的dll文件的话,按照一下步骤做:

1、设计java文件,使其每一个native函数对应已有dll的函数
2、用javah命令从class文件中生成.h头文件
3、将.h文件里面的所有函数实现一遍,每个函数内部调用并返回已有dll的函数的结果
4、生成jni的dll文件,把它和原先的dll文件一同放到PATH对应的路径……

++ --------------------编程问答-------------------- 不能直接调用 --------------------编程问答-------------------- 谢谢回答。楼上的几位都没有明白我的问题,我并不是想问是否可以直接调用的问题,我是想问能否调用用c++设计的class,而非函数。

能查到的很多的使用JNI的例子,都是调用动态链接中的函数的。也就是说dll本身是由函数封装而成的,可如果是class呢,如何调用? --------------------编程问答-------------------- 不能直接调用,java只能调用函数
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,