1

Javaで使用する必要がある.dllファイルがあります。この .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 に答える