- 浏览: 1490288 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (460)
- java (148)
- javascript (34)
- Flex文章 (4)
- css+div (2)
- ajax (6)
- extjs (11)
- 人生感悟 (9)
- struts2.0 (6)
- IT之路,生活 (15)
- hibernate (6)
- struts1 (1)
- spring (5)
- j2ee错误 (3)
- Dwr (5)
- Linux (33)
- C++ (3)
- SWT Win32 (2)
- EJB (1)
- JPA (4)
- C语言和LinuxC (7)
- SQL (13)
- 项目经理 (6)
- db2 (2)
- java数据结构 (2)
- 网页播放器flv (1)
- 数据库 (24)
- 用户体验设计学习 (2)
- 网络电话 (5)
- 军事理论 (4)
- android (3)
- oracle (18)
- oracle ebs form (11)
- oracle ebs oaf (4)
- erp (20)
- DBA (9)
- java中URL 的编码和解码函数 (1)
- 铁血丹心 (1)
- excel 单元格格式不能立即生效 (1)
- Java调用bat文件 (1)
- 如何把本地outlook中的邮件上传到网络邮箱中 (1)
- java 报表 打印 (1)
- 创建dblink (1)
- 图标前台框架 (1)
- vnc (1)
- FORM (1)
- MYSQL (1)
最新评论
-
July01:
推荐用StratoIO打印控件,支持网页、URL、图片、PD、 ...
web打印不显示页眉页脚 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
Javascript网页打印大全 -
hardyer:
大哥写的很实在,受教了,提前祝你元旦快乐!
黎活明给程序员的忠告 -
cxysilahi:
请问WIN7 64位,调用报错Exception in thr ...
JNative的初步使用 -
action1949:
好东西,解决问题
JFreeChart乱码解决方法
下载地址:
JNative_1.4RC2_src.zip : http://jaist.dl.sourceforge.net/sourceforge/jnative/JNative_1.4RC2_src.zip
JNative.jar : http://nchc.dl.sourceforge.net/sourceforge/jnative/JNative.jar
如果以上版本不能完成下载,说明版本有可能更新,请从以下地址中下载:
Resource URL: http://jnative.sourceforge.net/
Source Code: http://sourceforge.net/projects/jnative
Detailed Review: http://jnative.free.fr
JavaDOC: http://jnative.free.fr/docs/
JNative相对于其它同类开源组件的优点:
1.容易使用
2.对数据类型的处理做的出色
3.支持CallBack
下面以一个小Demo来学习一下JNative:
1.理解文件用途
JNative_1.4RC2_src.zip是JNative源代码的压缩包把它解压后从中找到libJNativeCpp.so和JNativeCpp.dll两个文件.JNativeCpp.dll应用在Windows平台下.把它放在c:\windows\system32目录下.libJNativeCpp.so应用在Linux平台下.放在哪个目录,这个我不知道.
把JNative.jar加入到所需的工程中.
把要调用的dll文件也放在c:\windows\system32目录下, 这个目录存在一个文件,
2.测试类
package sms; import org.xvolks.jnative.JNative; import org.xvolks.jnative.exceptions.NativeException; import org.xvolks.jnative.pointers.Pointer; import org.xvolks.jnative.pointers.memory.MemoryBlockFactory; public class SystemTime extends org.xvolks.jnative.util.Kernel32.SystemTime { public short wYear; public short wMonth; public short wDayOfWeek; public short wDay; public short wHour; public short wMinute; public short wSecond; public short wMilliseconds; /** * 分配内存,并返回指针 */ public Pointer createPointer() throws NativeException { pointer = new Pointer(MemoryBlockFactory.createMemoryBlock(getSizeOf())); return pointer; } /** * 内存大小 */ public int getSizeOf(){ return 8 * 2; } /** * 获取通过内存指针解析出结果 */ public SystemTime getValueFromPointer() throws NativeException { wYear = getNextShort(); wMonth = getNextShort(); wDayOfWeek = getNextShort(); wDay = getNextShort(); wHour = getNextShort(); wMinute = getNextShort(); wSecond = getNextShort(); wMilliseconds = getNextShort(); return this; } public SystemTime() throws NativeException{ super(); createPointer(); } public String toString(){ return wYear + "/" + wMonth + "/" + wDay + " at + " + wHour + ":" + wMinute + ":" + wSecond + ":" + wMilliseconds; } public static SystemTime GetSystemTime() throws NativeException, IllegalAccessException { // 创建对象 JNative nGetSystemTime = new JNative("Kernel32.dll", "GetSystemTime"); //GetSystemTime 是dll中的方法 SystemTime systemTime = new SystemTime(); // 设置参数 nGetSystemTime.setParameter(0, systemTime.getPointer()); //执行方法 nGetSystemTime.invoke(); // 解析结构指针内容 return systemTime.getValueFromPointer(); } public static void main(String[] args) throws NativeException, IllegalAccessException{ System.err.println(GetSystemTime()); } }
评论
1 楼
cxysilahi
2015-12-07
请问WIN7 64位,调用报错
Exception in thread "main" java.lang.IllegalStateException: JNative library not loaded, sorry !
at org.xvolks.jnative.JNative.<init>(JNative.java:512)
at org.xvolks.jnative.JNative.<init>(JNative.java:440)
,我已经把.DLL文件放到C:\Windows\System32了
Exception in thread "main" java.lang.IllegalStateException: JNative library not loaded, sorry !
at org.xvolks.jnative.JNative.<init>(JNative.java:512)
at org.xvolks.jnative.JNative.<init>(JNative.java:440)
,我已经把.DLL文件放到C:\Windows\System32了
发表评论
-
Oracle Developer10G 安装
2020-09-09 18:03 388oracle 客户端也要删除,以前的oracle产品 ... -
打开Eclipse时出现"The Eclipse executable launcher was unable to locate its companion
2018-06-05 15:06 9795打开Eclipse时出现"The Eclipse ... -
J2EE通过tomcat部署的两种方式
2017-09-12 09:01 697转载:http://blog.csdn.net/psp000 ... -
Linux安装Tomcat7
2016-03-30 15:01 905http://blog.sina.com.cn/s/blog ... -
java支持跨平台获取cpuid、主板id、硬盘id、mac地址 (兼容windows、Linux)(转)
2015-11-17 22:10 1641http://blog.csdn.net/flyingclo ... -
栋哥涕啐茆
2015-10-27 10:49 788栋哥涕啐茆 -
Eclipse快捷键 10个最有用的快捷键
2015-10-27 10:18 820Eclipse中10个最有用的快捷键组合 一个Eclip ... -
java上传头像图像剪切
2015-04-02 20:19 1206java上传头像图像剪切 JQUERY 图片上传裁切 -
创建dblink
2014-12-11 20:01 715CREATE public database link ... -
Bitnami Redmine 安装笔记
2014-12-10 11:28 1675http://atian25.iteye.com/blog/ ... -
利用workflow发送类似数据报表内容的通知页面
2014-11-21 15:03 844利用workflow发送类似数据报表内容的通知页面 ... -
excel科学技术法问题
2014-11-12 13:50 8491.使用导入外部数据的方法2.并且在第三步的时候选择文本,需要 ... -
java.lang.IllegalAccessError
2014-09-29 11:05 1201java.lang.IllegalAccessError: ... -
java如何获取文件编码格式
2014-04-11 11:28 102731:简单判断是UTF-8或不是UTF-8,因为一般除了UTF ... -
JAVA中使用FTPClient上传下载
2013-12-08 13:35 1954方法一:这种方法网上有许多 可以用下面的方式,但是支持批量 ... -
在Java中获取环境变量
2013-11-11 11:18 1470package cy.cn.test; import ... -
ORACLE性能调整笔记
2013-11-05 18:39 0一 关于statspack中等待事件的一些解释 ... -
EBS DBA指南笔记1
2013-11-05 18:35 1937时光飞逝,不从事EBS DBA转眼已有两年多。很还念那段学习 ... -
用html代码在word中插入分页符和页面设置
2013-11-05 17:11 5364<span lang=EN-US style=&quo ... -
OpenJWeb新增二维码图片生成功能
2013-11-05 09:02 1311在开发进销存软件的时 ...
相关推荐
jnative使用方法总结jnative使用方法总结jnative使用方法总结
TestJNative_Eclipse.rar 为MyEclipse工程 JNativeTest_VC.rar为VC ...主要写了一些JNative调用DLL的例子,包含了JNative回调函数的用法与指针的用法,以供参考,希望对使用JNative的开发人员有帮助 有问题大家一起讨论
3. **生成本地方法的头文件**:使用JNative的工具自动生成C/C++头文件,该文件包含了本地方法的定义。 4. **实现本地方法**:在生成的头文件中,实现本地方法的具体逻辑。 5. **编译和链接本地代码**:使用C/C++...
jnative包用于调用dll动态库,目前(2011-12-20)最新版本为1.4RC2,官方正式版本文档为1.3,详见官方地址: http://jnative.free.fr/docs/ 这是最新的帮助文档HTML离线包,希望对大家有帮助 Packages org.xvolks....
对于JNative API来说,Javadoc文件包含了每个接口、类、方法的描述、参数、返回值、异常等信息,是学习和使用JNative的重要资源。通过阅读Javadoc,开发者可以快速理解JNative的功能、用法以及注意事项,从而更高效...
4. 使用JNative提供的API加载本地库,并调用相应的本地方法。 值得注意的是,JNative并不是唯一的选择,Java中还有其他库如JNA(Java Native Access)和JNR(Java Native Runtime)等,它们提供了不同的方式来调用...
2. 编写Java代码:使用Jnative的注解来声明本地方法,例如`@NativeMethod(name = "nativeFunction", returnType = int.class)`。 3. 编译并生成JNI头文件:使用Jnative提供的工具,如`jnigen`,自动生成JNI头文件和...
JNative则是一个简化JNI使用的库,它提供了一些预定义的接口和类,使得开发者无需直接处理JNI的底层细节,如头文件的生成、JNI函数的定义等。JNative的核心是它的`callXXX`系列函数,例如`callStaticVoidMethod`、`...
使用JNative前,需要先进行环境配置,包括下载JNative库,将其添加到项目的类路径中,以及配置相应的编译和链接选项。这个过程可能涉及设置环境变量,配置Makefile,以及正确地编译和链接本地代码。 四、JNative的...
本文将深入探讨JNative的工作原理、使用方法以及其在实际应用中的价值。 首先,JNative是一个Java Native Interface(JNI)的包装器,它简化了Java程序与本地代码之间的交互过程。JNI是Java官方提供的一个接口,...
标题中的“jnative调用动态库”指的是Java中使用JNative库来调用本地(操作系统级别的)动态链接库(DLL或SO文件)的技术。在Java中,为了与操作系统底层功能进行交互,比如调用C/C++编译的库,我们可以使用Java ...
这里我们关注的工具是`jnative`,它是一个Java本地接口(Java Native Interface,JNI)的实现,允许Java代码直接调用C++编写的动态链接库(DLL)或共享库(如libJNativeCpp.so在Linux系统中)。这个过程涉及的知识点...
jnative 1.4 jnative 1.4 jnative 1.4 jnative 1.4 jnative 1.4 jnative 1.4 jnative 1.4 jnative 1.4
10. **社区支持与文档**:开源项目通常会有社区支持和文档,使用者可以通过官方文档或社区论坛获取更多关于jNative的使用指南和最佳实践。 总的来说,jNative是一个强大的工具,它扩展了Java的边界,使其能够充分...
JNative.jar包就是这样一个关键组件,它提供了一种方便的方式来在Java程序中使用本地代码。 首先,让我们深入理解JNative.jar的核心概念。JNative.jar是一个包含Java本地接口(JNI)函数的库,使得Java开发者能够...
JNative完全自学手册 本手册旨在帮助读者完全深度理解掌握JNative核心技术,通过实例众多的讲解,让读者快速掌握JNative技术。 JNative是Java Native Interface的缩写,允许Java程序调用本地函数库,实现Java程序...
《深入解析org.xvolks.jnative源码》 在Java世界中,为了实现与本地代码的交互,开发者经常需要借助JNI(Java Native Interface)技术。然而,JNI的使用门槛相对较高,涉及到C/C++编程,这给许多Java开发者带来了...
为了实现这一点,开发者选择使用JNative库,它是一个Java Native Interface (JNI)的封装工具,简化了Java与本地代码交互的过程。 JNative是一个开源的Java库,它允许开发者在不编写C/C++代码的情况下,直接调用本地...
2. **示例或测试动态库**: 压缩包中可能包含一个示例动态库,供开发者学习如何使用Jnative进行Java与本地代码的交互。这个库可能包含了一些简单的函数,如加减乘除运算,以便开发者理解如何在Java中调用这些函数。 ...