jni使用c++写的一个dll中的函数时,函数入口的结构指针应该怎么处理? JNI应该是先参照Java的接口,然后用C/C++调用对应的本地j类型来实现。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以直接查一下jni的头文件啊,在jdk中 在你的JNI中用C++的结构类型就可以了 在C/C++里存在的类在Java里没有对应的数据结构,你需要自己写一个java类及其读写的代码。简单的方法:按struct/class的结构写一个java类,字段内容和struct/class一一对应,如过struct/class的成员包含其他struct/class,同样的方法。然后用GetField/PutField方法为每个成员写存取代码。 to taolei: 谢谢你的回答,必须用GetField/PutField来存取结构中的成员吗?能否给出一个具体的例子? 就是读写java对象的字段啊,这个例子到处都有啊。 to taolei: 我还是没有找到,能否具体给我一个jni这样的例子? 查了一下,还有什么访问对象的域GetFieldID什么的,搞不懂,又找不到资料。比如dll 中func(A* a)struct A { char *name; float f;}应该怎么写对应的类,GetField/PutField是private的还是public的?呵呵,请教taolei等高手。 class A{ jchararray name; //将指针转换为数组 jfloat f;}这样就可以在JNI里对应传过去了 不急,谢谢taolei。我的email:[email protected] 不知道你c/c++的基础如何,http://java.sun.com/docs/books/jni/里面有完整的JNI文档,还有example。 Java 数据结构的问题 DatagramSocket在调用close之后如何再打开继续可以receive ★★★★★计算器(java)源码火爆征集中★★★★★ 请教各位大哥一个数组有序合并的问题。 不使用java.io.File中的list(), 如何列出来一个目录下所有的文件 中国人的J2EE应用服务器:金蝶Apusic应用服务器V4.0今日发布 谁能告诉我一篇关于Servlet调用EJB的简单的文章 java 求字符串长度 关于rtf的问题 我这样可以取得本地ip地址么? 请问win98下怎莫打开命令提示符啊?(编译java程序) 请问一个问题!谢谢!!!
简单的方法:按struct/class的结构写一个java类,字段内容和struct/class一一对应,如过struct/class的成员包含其他struct/class,同样的方法。
然后用GetField/PutField方法为每个成员写存取代码。
谢谢你的回答,必须用GetField/PutField来存取结构中的成员吗?能否给出一个具体的例子?
我还是没有找到,能否具体给我一个jni这样的例子?
比如dll 中func(A* a)
struct A
{ char *name;
float f;}
应该怎么写对应的类,GetField/PutField是private的还是public的?
呵呵,请教taolei等高手。
{
jchararray name; //将指针转换为数组
jfloat f;
}这样就可以在JNI里对应传过去了
我的email:
[email protected]
http://java.sun.com/docs/books/jni/
里面有完整的JNI文档,还有example。