English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
一般的にはjni、jnative(jniに基づいて自分でjarパッケージをラップ)がよく使用されます。注意:javaでdllを呼び出す場合、dll内で対応する処理が行われる必要があります。例えば:メソッド名は_java_パッケージ名_クラス名_メソッド名とする必要があります
JNIを使用してdllを呼び出す手順
新しいjavaプロジェクトを作成し、dllファイルをsrcに配置してください
プロジェクトの環境jreのnativeディレクトリをsrcに設定してください
プロジェクトのjdkは、eclipseに付属するものを使用しないで、自分でインストールしたjdkのパスを使用してください
DLL内のディレクトリの順序に新しいディレクトリとクラスを作成してください
DLL内と同じメソッドを宣言してください、メソッドの前にnativeキーワードを追加してください(注意:パラメータの型)
コードのstaticブロックに書きます(拡張子は省略してください):
static { System.loadLibrary("testDll"); }
mainメソッドを書くことで呼び出せるようになります。エラーが発生した場合は、エラーメッセージに注意してください、依存するDLLファイルが欠けている可能性があります
JNIを簡単にラップ
DLLを呼び出すクラスを簡単にラップ
コードは资源共享でダウンロードできます、私のコードの中からもダウンロードできます
コード呼び出し(主にstaticブロックのコードが変わりました)、DllUtilのこのコードは共有からダウンロードしてください
static { try { DllUtil.extractFromJar("testDll.dll", "testDll.dll", System .getProperty("java.io.tmpdir")); System.load(System.getProperty("java.io.tmpdir") + "\\testDll.dll"); System.out.println("load testDll.dll success!!"); } catch (Exception e) { System.out.println("testDll.dll エラー:"); + e.getMessage()); } }
これで今回の記事の全ての内容が終わりました。もっとの内容は、ナイアラベーションで検索していただければと思います。あなたのサポートに感謝します。
声明:本文の内容はインターネットから取得しており、著作権者は所有者であり、インターネットユーザーにより自発的に提供された内容であり、本サイトは所有権を持ちません。また、人工的な編集は行われておらず、関連する法的責任も負いません。著作権侵害が疑われる内容がある場合は、メールを送信して:notice#oldtoolbag.com(メールを送信する際は、#を@に変更してください。報告を行い、関連する証拠を提供してください。一旦確認が取れましたら、本サイトは即座に侵害される可能性のあるコンテンツを削除します。)