首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

在JNI中调用本土带结构体参数的函数

2012-10-27 
在JNI中调用本地带结构体参数的函数说起JNI,《The Java Native Interface -- Programmers Guide and Speci

在JNI中调用本地带结构体参数的函数
说起JNI,《The Java Native Interface -- Programmer's Guide and Specification》我认为是挺好的入门教程。浅显易懂,而且也附有参考。对很多问题和陷阱也进行了讲解和提示。可以在 Sun 的官网上免费下载到这本书,下载地址:http://java.sun.com/docs/books/jni/download/jni.pdf。

但是我认为这本书在第 9 章 Leveraging Existing Native Libaries 中对开头所讲的一段程序的解释有点潦草。内容大意是有一个 Win32 API, CreateFile。它带了很多参数。有 const char*、DWORD、HANDLE,最重要的是它带了一个 SECURITY_ATTRIBUTES*,一个结构体指针。


再次,定义 STRUCT 的包装类 StructWrapper。

Okay,现在可以定义主函数了。

如果顺利的话,您现在跑这个 Java 程序,应该输出
引用
long value:1
char value:a


至此,示例结束。但引出一个问题,如何把 C++ 中的结构传给 Java?一样,通过 Peer Class。我觉得各位肯定会举一反三,想出解决办法的。 1 楼 hyint 2009-01-07   有没好的代码,发一个给我,谢谢!能完整最好了,hyint@163.com 谢谢 2 楼 yangdong 2009-01-07   对不起,原来的源代码已经不在了。 3 楼 hnzhangshi 2010-06-11   例子写的很好,有个问题请教一下,如果结果体中的变量很多,总不能一个个写出来吧?能解释一下怎么用数组传值吗?谢谢了 4 楼 yangdong 2010-06-11   @hnzhangshi:你是说文章开头的那本书的作者给的示例?那个用数组来做是不对的。JNI 我有一年没碰了,不知道你说的是不是这个意思。。。 5 楼 ihopethatwell 2012-03-12   楼主,能写一个传递数组的结构体? 6 楼 yangdong 2012-05-20   sorry,之后一直没再碰过 JNI,没法再写了。 7 楼 meimei_123abc 2012-07-31   你好,可以把这个完整的代码给我发一个学习下吗,刚开始接触这一块没头绪,谢谢!我的邮箱meimei_123abc@163.com

热点排行