java jnative new 错_二、Java调用C语言(JNative法)

这个方法也是挺麻烦的……

一、下载jna-4.1.0.jar(版本不同名字不同),把它放在你jdk下的\jre\lib\ext目录下

二、在 F:\MinGW 新建 JNativeTest.java:

public class Test  {

public static void main(String[] args) throws NativeException, IllegalAccessException {

// 例1

JNative n1 = new JNative("test.dll", "add");

n1.setRetVal(Type.INT);

n1.setParameter(0, 11);  //C语言add函数的第一个参数是11

n1.setParameter(1, 9);  //C语言add函数的第二个参数是9

n1.invoke();   //执行

int re1 = Integer.parseInt(n1.getRetVal());  //获取返回结果

System.out.println("例1:addresult = "+re1);

// 例2

JNative n2= new JNative("test.dll", "addArray");

int len=3;   //定义一个int指针p1,一个int占4个字节,(4 * len)可以理解成有len个int。若是double则(8 * len),以此类推

Pointer p1 = new Pointer(MemoryBlockFactory.createMemoryBlock(4 *

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值