JNIの紹介
JNIはJavaネイティブインターフェイスの略語であり、Javaと他の言語(主にC&C ++)の間の通信を実装するためのいくつかのAPIを提供します。 Java 1.1から始めて、JNI標準はJavaプラットフォームの一部になりました。これにより、Javaコードは他の言語で記述されたコードと対話できます。 JNIは当初、ネイティブコンパイルされた言語、特にCおよびC ++向けに設計されていましたが、コールコンベンションがサポートされている限り、他のプログラミング言語を使用することを妨げません。 Javaを使用してローカルにコンパイルされたコードと対話することで、プラットフォームの移植性が失われます。ただし、場合によっては、これは許容可能であるか、必要です。たとえば、いくつかの古いライブラリを使用して、ハードウェア、オペレーティングシステムと対話するか、プログラムのパフォーマンスを向上させます。 JNI標準は、少なくともローカルコードがJava仮想マシン環境で機能することを保証する必要があります。簡単に言えば、JNIはJavaがCおよびC ++言語の関数を呼び出すのに便利です。 Javaは、インターフェイス(ヘッダーファイル)、C、およびC ++を提供して、Javaが呼び出されるこれらの関数を実装しています。
Javaで画面をクリアするためのインターフェイスはなく、C言語のすべてのシステム( "CLS")はJNIを介して呼び出すことができます。もちろん、CMDスクリーンのクリアに限定されており、Eclipse Console Consoleのクリアをサポートしていません。
ステップ:
1. Javaのスクリーンクリアネイティブインターフェイスを書きます。
public class clear {static {system.loadLibrary( "clear"); // load clear.dll dynamic library} public native static void clscmd(); //クリアスクリーン}2。Clear.javaをコンパイルし、Clear.classを生成します
3. Javahを使用して、対応するC言語ヘッダーファイルを生成するclear.h
4. Visual Studioを使用してWin32プロジェクトを作成し、対応するDLLダイナミックライブラリを生成します
4.1プロジェクトを作成します
4.2アプリケーションタイプ:DLL
4.3ステップ3で生成されたヘッダーファイルのインポートclear.hおよびプロジェクトに依存する必要がある2つのヘッダーファイルjni.hとjni_md.h
JNI.Hは、JDKインストールパスのディレクトリに含まれています。
JNI_MD.Hは、JDKインストールパスのDirectoryを含むWin32ディレクトリにあります。
これら3つのヘッダーファイルをプロジェクトディレクトリにコピーして貼り付けます。
次に、vsでインポートします。
ヘッダーファイル--->追加--->既存のアイテム--->上の3つのヘッダーファイルを選択します--->追加
#includeファイルで#include "jni.h"に#include <jni.h>を変更する
4.4 .cppファイルを追加し、Cコードを書き込みます。
ソースファイル--->追加--->新しいアイテム---> C ++ファイル:Clear.cpp
#include "clear.h" #include <iostream> jniexport void jnicall java_clear_clscmd(jnienv *、jclass){system( "cls"); // c's clear}4.5生成する64ビットDLLダイナミックライブラリをセットアップする
解決策--->プロパティ
4.6 DLLを生成します
解決策--->右クリックして生成します
5テスト
5.1 Clear.dllは、Clear.classが手順1および2にあるディレクトリにコピーします。
5.2テストクラスの書き込み
public class testjni {public static void main(string [] args){system.out.println( "hello jni"); clear.clscmd(); //クリア画面}}5.3テストクラスをコンパイルします
Javac testjni.java
5.4テストクラスを実行します
Java testjni
完璧なスクリーンクリア、それを成し遂げましょう! ! !