1

我有一个 .dll 文件,我必须在 java 中使用它。这个 .dll 文件有一个参数化的方法,它应该返回类型为字符串。当我将参数传递给它时,我得到的消息为Native methods do not specify a body

这是代码...

package com.letme.test;

public class Eagleye_parser {

    String n = "E48A7 F7759 65EA7";

    public Eagleye_parser() {}

    static {
        System.loadLibrary("Eagleye_parser");
    }

    public native String eagleye_fmu(n);// here it is giving msg : Native methods do not specify a body 
}
4

3 回答 3

2

试试看一下 JNA,它提供了一个很好的原生代码包装层。

https://github.com/twall/jna

于 2012-04-18T12:03:47.243 回答
0

只需在您的项目中添加引用。和顶部的命名空间......然后你可以访问所有的dll方法。如果您使用的是 Eclispe,请右键单击您的项目->然后单击构建路径->然后单击添加库,然后单击用户库

在这里你可以导入dll

于 2012-04-18T12:15:31.730 回答
0

public native String eagleye_fmu(n);这里的 'n' 是问题所在,因为任何其他 java 函数声明都会出现问题。

这应该类似于public native String eagleye_fmu(String);然后您像调用任何其他函数一样调用本机函数String result = eagleye_fmu(n);

这一切都假设您正确实施了 dll

于 2012-04-18T12:39:08.180 回答