1、jna是什么
jna是java native access的简称,用他可以调用C、C++代码,特别是windows中强大的库文件(dll,在linux下是so文件),这样java就可以操控底层的一些东西,比如调用加密机、智能卡之类的
2、jna下载
在maven下直接找jna就有,对应的jar包是jna-3.3.0.jar
3、调用msvcrt.dll(这是windows自带动态链接库
),不用找,他在system32下
package com.jnastudy.test;
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;
import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.User32;
public class JNATest {
//编写一个接口,必须继承Library,他要在加载库文件时用
public interface CLibrary extends Library {
//加载库文件,Platform.isWindows()可以判断系统类型
CLibrary INSTANCE = (CLibrary) Native.loadLibrary(
(Platform.isWindows() ? "msvcrt" : "c"), CLibrary.class);
//定义方法,与c语言标准的一致
void printf(String format, Object... args);
}
public static void main(String[] args) {
//调用
CLibrary.INSTANCE.printf("%d----%f--",5,5.2f);
final User32 user32 = User32.INSTANCE;
System.out.println(user32);
final Kernel32 kernel32 = Kernel32.INSTANCE;
System.out.println(kernel32.toString());
}
}
4、java类型和C类型的映射
- 大小: 28 KB
- 大小: 32.4 KB
分享到:
相关推荐
JNA示例的C++工程代码,包含了结构体指针、函数指针、def文件、dll编程等
JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与...
内部包含6个文件,其中五个是最新JNA jar包,包括jna-platform-4.1.0.jar、jna-platform-4.2.0.jar、jna-platform-4.2.1.jar、jna-platform-4.2.2.jar,一个是JNA介绍文档,包括在线帮助、入门示例、简单程序示例等...
JNI入门级参考文档,尤其适用第一次编写JNI的初学者。
JBE/JNA(比较无符号数) 76 C或Z=1 低于或等于/不高于 JG/JNLE(比较带符号数) 7F (S异或O)或Z=0 > 大于/不小于或等于 JGE/JNL(比较带符号数) 7D S异或O=0 >= 大于或等于/不小于 JL/JNGE(比较带符号数) 7C S异或O...
带有JNA(Tess4J)的Java中的Tesseract演示。 该演示将参加在MacOS,Ubuntu和Windows等多种操作系统上测试 。 Tesseract:一个开源的OCR引擎。 更多详细信息,请参见其。 图像过滤器:查看更多信息。 感谢这些...
JNA:演示了JNA的基本用法,使用Java调用C++代码。 博客目录 Java基础 Java基础学习(1)——引用 Java基础学习(2)——注解 Java基础学习(3)——泛型 Java基础学习(4)——动态代理 《Java多线程核心技术》读书笔记 ...
执照要求OS X上的Java 11或更高版本JNA入门检出项目并使用mvn clean install (用于调试版本)或mvn clean install -Drelease=true (用于发行版本)进行构建将其作为Maven依赖项包含在您的项目中: < dependency> ...
OSX Linux Windows要求Java 7+ Rust(已经过1.0测试,每晚)该项目包含Rust代码和Java代码使用JNA的Rust接口的Java接口一个脚本将Rust代码构建到库中,并将其放在JNA可以找到它的类路径中Java和Rust入门最好的地方
gst1-java-core已在Linux(x86和Arm),Windows和macOS上进行了积极测试,但应在任何支持Java,JNA和GStreamer的操作系统上运行。 这些绑定已在台式机,服务器和嵌入式系统的各种商业和开源项目中使用。 用法 请...
本仓库记录了我的Java学习进阶之路,涵盖了Java基础,JDK源码,JVM中的重要知识,附有代码和博客讲解,从而提供了一个Java在线共享学习平台,帮助更多的Java学习者入门进阶。 代码目录 :包括枚举,范型,反射,动态...
Maven的例子 :party_popper: 一个用于测试和试验各种Maven插件和配置的游乐场。 外挂程式 :electric_plug: Maven插件 ...Maven原型快速入门 原型以生成示例Maven项目 Maven原型快速入门 允许生成示例Mav
有特定于操作系统的胶水代码和一个通过 JNA 调用 libc 的本机类。 Luwak 目前支持 Linux 和 OS X。 入门 要构建 Luwak,您需要 Luwak 项目和 iGeekCommon 项目。 这些都可以从 GitHub 检出。 cd Luwak ant 输出...
入门 安装VISA实施 您必须安装VISA实施才能使用JVisa。 建议使用 。 据我所知,有四家公司编写了自己的VISA实现:Keysight,National Instruments,Rohde&Schwarz和Tektronix。 Nation Instruments的实现方式似乎...