1

Java、JNI、および C++: ネイティブ メソッド宣言からヘッダー ファイルを生成するにはどうすればよいですか?

JNI を介して C++ コードと通信する Java プロジェクトがあります。課題は、新しいメソッドを追加する必要があることです。最初に、Java コードでネイティブ メソッドを宣言することから始めました。ここで、JNI メソッドのヘッダー ファイルを再生成する必要があります。私はEclipseで作業していますが、これを行う方法がわかりません。

4

3 に答える 3

3

これは Eclipse には組み込まれていませんが、簡単に実行できます。

  1. File » New... » XML Fileプロジェクトに Ant ファイル (以下のコード) を作成します。
  2. Project » Properties » Builders » New... » Ant BuilderAnt ファイルをビルド ステップとして追加します。生成されたファイルがプロジェクトに表示されるように、更新を「プロジェクト」に設定します。javahコンパイルされたファイルを読み取るため、必ず Java Builder ステップの後にビルド ステップを配置してくださいclass

これで、Java コードを変更するたびに、常に最新のヘッダー ファイルを使用できます。Ant ファイルに適用可能なクラスをリストするだけです。

<?xml version="1.0" encoding="UTF-8"?>
<project name="javah">
    <mkdir dir="javah" />

    <javah classpath="bin" destdir="javah">
        <!-- list classes here -->
        <class name="com.example.MyClass" />
    </javah>
</project>

Ant スクリプトではさらに洗練されたものにすることができますが、上記で十分です。

于 2013-07-25T16:24:01.737 に答える
2

以前はコマンドラインを使用して実行していました。

  • ソース ファイル ディレクトリに移動します。

  • javac filename.javaファイルを生成しfilename.classます。

  • javah filenameファイルを生成しfilename.hます。

詳細については、 javacおよびjavahを参照してください。

于 2013-07-25T14:14:46.943 に答える
0

JDK のこのユーティリティはどうですか? ジャバ

于 2013-07-25T14:14:39.027 に答える