- 浏览: 355160 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (186)
- J2EE (46)
- spring (4)
- Applet (7)
- 网页前端 (10)
- 生活与工作 (55)
- 开放的世界 (10)
- linux (16)
- j2me (2)
- android (5)
- ExtJS (1)
- 架构师与设计 (7)
- 开发平台 (2)
- Eclipse (4)
- 教育 (0)
- 数据库 (9)
- English (1)
- Jetty (2)
- 未分类 (1)
- 工具 (2)
- flex (2)
- synchronized (1)
- maven (2)
- command (0)
- shell (1)
- web (1)
- qq (3)
- wine (3)
- chrome (1)
- extensions (1)
- plugin (1)
- 插件 (1)
- ssh (1)
- 内网 (1)
- J2EE excel (1)
- ubuntu (4)
- storm (2)
- hadoop (1)
最新评论
-
skzr.org:
jdbc:mysql://localhost:3306/?us ...
storm topology all in one spring文件合并 -
chenghong726:
你好,我用你这个方法,上传文件72M一直卡在 mapper.s ...
超大excel读取 43万记录 26M文件 -
海hai:
您好我对这篇文章很敢兴趣可以和你请教下吗?我qq9034418 ...
淘宝top自动授权页面,方便大家调试top应用 -
skzr.org:
首先感谢你的关注:)yaerfeng1989 写道最代码上有更 ...
[MAVEN]web工程的调试 -
skzr.org:
最新消息2013-12-17:腾讯再次弹出消息,我的QQ201 ...
ubuntu 12.04安装QQ2012
Thanks for your help :)
windows xp x86, jdk 1.6.20
hellojna dll project
hellojna.h
extern "C" _declspec(dllexport) int swapvalue(int* a, int* b); extern "C" _declspec(dllexport) int rf_select1(unsigned char *_Size); extern "C" _declspec(dllexport) int rf_select2(unsigned char *_Size,long icdev); extern "C" _declspec(dllexport) int rf_select3(long icdev, unsigned char *_Size);
hellojna.cpp
#include "stdafx.h" #include "hellojna.h" int rf_select1(unsigned char *_Size) { _Size[0] = 'a'; return 12; } int rf_select2(unsigned char *_Size, long icdev) { _Size[0] = 'a'; return 12; } int rf_select3(long icdev, unsigned char *_Size) { _Size[0] = 'a'; return 12; }
HelloJna.java
public interface HelloJna extends Library { HelloJna instance = (HelloJna) Native.loadLibrary("hellojna", HelloJna.class); int rf_select1(byte[] abd); int rf_select2(byte[] abd, long dev); int rf_select3(long dev, byte[] abd); }
Test.java
public class Test { /** * @param args */ public static void main(String[] args) { HelloJna jna = HelloJna.instance; byte[] buf = new byte[]{'s', 'u', 'p', 'e', 'r', ' ', 'm', 'a', 'n', '\0'}; int ret = jna.rf_select1(buf); System.out.println("buf=" + new String(buf) + ",ret=" + ret); buf[0] = 'I'; ret = jna.rf_select2(buf, 77); System.out.println("77 buf=" + new String(buf) + ",ret=" + ret); buf[0] = 'E'; ret = jna.rf_select3(99, buf); System.out.println("99 buf=" + new String(buf) + ",ret=" + ret); } }
console.out:
buf=auper man , ret=12 77 buf=auper man ,ret=12
the screen capter:
why rf_select1 and rf_select2 is right but rf_select3 is error ??
the differences is just the paramters order??
in the rf_select3 _Size is null
buf[0] = 'E'; ret = jna.rf_select3(99, buf);
2010-09-15 00:13 add info:
I found it's work good when HelloJna.java change rf_select3(long dev, byte[] abd) to rf_select3(NativeLong dev, byte[] abd)
public interface HelloJna extends Library { HelloJna instance = (HelloJna) Native.loadLibrary("hellojna", HelloJna.class); int rf_select1(byte[] abd); int rf_select2(byte[] abd, long dev); int rf_select3(NativeLong dev, byte[] abd); }
评论
2 楼
skzr.org
2012-09-05
duduli 写道
https://github.com/twall/jna/blob/master/www/Mappings.md
官方文档上写了:long long 类型才对应java的long类型。
官方文档上写了:long long 类型才对应java的long类型。
莫非是这个问题,看了这个映射表,long long以前好像没有这个东西,不过当时是在32位winxp下开发测试的。
1 楼
duduli
2012-09-04
https://github.com/twall/jna/blob/master/www/Mappings.md
官方文档上写了:long long 类型才对应java的long类型。
官方文档上写了:long long 类型才对应java的long类型。
发表评论
-
答复: 再谈一个关于final的不一致编译的低级错误
2012-09-25 09:13 1009tlde_ti 写道 我是觉得连依赖管理工具都不用的项目实在 ... -
[MAVEN]web工程的调试
2011-12-18 21:48 4021接上篇:[MAVEN]maven最佳实践 mav ... -
[jetty]jetty学习
2011-12-27 16:19 2452Jetty源码学习 图源码:jetty.dia ... -
[jetty]start.jar启动
2011-12-27 16:16 2677概图 关键点 org.eclipse.jetty ... -
在java中怎样执行系统命令?
2011-12-05 00:12 0linux比较容易实现,windows下问题千奇百怪。 ... -
[MAVEN]maven最佳实践
2011-12-06 11:00 2150参考资料: 官方:http://maven.ap ... -
java点滴
2011-11-25 00:18 0main静态方法调用: 意思的在method ... -
[java]synchronized我的理解
2011-11-18 21:56 1751多线程、同步、锁,搞 ... -
tomcat攻略
2011-07-23 10:51 6803以下是常见的tomcat配置和问题 以下总结来自实践(OS: ... -
[web工程]Struts2+Spring3.1+Hibernate3.6的集成
2011-05-20 00:32 1974背景:如果选择struts2+Spring+Hibernate ... -
[web工程]集成struts2 mvc
2011-05-20 00:30 2104返回:[web工程]Struts2+Spring3 ... -
[web工程]集成hibernate
2011-05-20 00:28 1419返回:[web工程]Struts2+Spring3.1+ ... -
[web工程]创建web工程
2011-05-19 21:30 1912返回:[web工程]Struts2+Spring3.1+Hib ... -
[分享][Hibernate]公用DAO
2011-05-15 23:27 1902通过Hibernate的元信息处理组件等等,利用spring封 ... -
[经验][hibernate][自定义类型]hibernate 3.6.3中自定义类型,json类型
2011-05-14 12:05 1383首先感谢您百忙之中的阅读 :) 下面进入正题 在3. ... -
hibernate和jdbc加载对象性能
2011-05-03 21:49 1928skzr.org 写道 core2 P8400 ... -
java远程调用通讯协议比较
2011-04-12 16:11 1471我的测试: 环境: 使用spring做为粘合剂 ... -
svn经验
2011-03-30 12:55 1369一下内容摘录自自己的wiki,所以链接可能有问题! 目录 ... -
完善包注释[javadoc package-info.java]
2011-03-27 14:03 6418包级注释 说明: 包级注释,有时候是非常有用的,可以清晰的 ... -
Tomcat7新特性?cookie HttpOnly的那些事(sessionid获取麻烦了)
2011-03-26 10:46 13107环境: tomcat6和tomcat7, ...
相关推荐
6.1 我在一个源文件中定义了chara[6],在另一个源文件中声明了externchar*a。为什么不行? 6.2 可是我听说chara[]和char*a是等价的。是这样的吗? 6.3 那么,在C语言中“指针和数组等价”到底是什么意思? 6.4...
4.5 我有一个char *型指针碰巧指向一些int型变量,我想跳过它们。为什么((int *)p)++; 这样的代码不行? 47 4.6 为什么不能对void *指针进行算术操作? 47 4.7 我有些解析外部结构的代码,但是它却崩溃了,显示...
o 7.1 我在一个源文件中定义了 char a[6], 在另一个中声明了 extern char *a 。为什么不行 ? o 7.2 可是我听说 char a[ ] 和 char *a 是一样的。 o 7.3 那么, 在 C 语言中 ``指针和数组等价" 到底是什么意思 ? ...
4.3 我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行? . . . . . . . . . . . . . . 17 4.4 我有个函数,它应该接受并初始化一个指针void f(int *ip) f static ...
数据结构实验报告1-顺序表实现简易的学生信息管理系统(C语言),包括实验环境,实验的小结,实验的源代码,实验截图等。 说明:仅供参考,如有bug,还请反馈!
执行时可以不用输入扩展名,比如输入test如果当前路径下有一个test.g4b就会自动使用。 2013-10-17 1.修改代码支持新版HOTKEY。 2013-07-10 1.insmod现在支持长文件名(以前最多11个字符,现在没有限制). 2....
程序启动时先读取用户配置文件,一般是"*.ini"格式,然后,使用Winsock的广播消息给整个局域网发送一个数据包,这时候,如果其他电脑已经运行了飞鸽传书,那么他收到这个包后,会将包的信息读取出来,当然,这个包里...
Windows平台下也有好多人都喜欢用SourceInsight编辑C/C++程序,如果将pclint集成到SourceInsight中,那就相当于给SourceInsight增加了一个C/C++编译器,而且它的检查更严格,能发现一些编译器发现不了的问题,可以...
一个一 一个可 可个可 可 以互相交换组件的地方 以互相交换组件的地方以互相交换组件的地方 以互相交换组件的地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 Microsoft.NET ...
关于曲目的信息如标题、作者等都存放在不同的标签帧中,扩展标签头和标签帧并不是必要的,但每个标签至少要有一个标签帧。标签头和标签帧一起顺序存放在MP3 文件的首部。 标签头 在文件的首部顺序记录10 个字节的ID3...
KCP 是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP) 的收发,需要使用者自己定义下层数据包的发送方式...
本人修正了小春版不能误识减号后的数为负数的BUG,修正了除法报overflow的BUG。但愿本程序能给迷茫中的编译器制作者一丝帮助。多谢大家的支持,希望本文能成为编译原理实践的经典。 迷若烟雨 版权所有 仅用于...
也有分析认为,谷歌并不想做一个简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...
第一章 关键字...............9 1.1,最宽恒大量的关键字----auto................................11 1.2,最快的关键字---- register..................................... 11 1.2.1,皇帝身边的小太监----寄存器...
第一章关键字..................................................................................................................................9 1.1,最宽恒大量的关键字----auto............................
C语言深度解剖 word版 解开程序员面试笔试的秘密第一章关键字......................................................................................................................9 1.1,最宽恒大量的关键字...
第一章 关键字................................................................................................................................... 9 1.1,最宽恒大量的关键字----auto.........................