Introducción a JNI
JNI es la abreviatura de la interfaz nativa de Java, que proporciona varias API para implementar la comunicación entre Java y otros idiomas (principalmente C&C ++). A partir de Java 1.1, el estándar JNI se ha convertido en parte de la plataforma Java, que permite que el código Java interactúe con el código escrito en otros idiomas. JNI se diseñó inicialmente para lenguajes compilados nativos, especialmente C y C ++, pero no le impide usar otros lenguajes de programación, siempre que se admite la convención de llamadas. El uso de Java para interactuar con el código compilado localmente a menudo pierde la portabilidad de la plataforma. Sin embargo, en algunos casos, esto es aceptable, o incluso necesario. Por ejemplo, use algunas bibliotecas antiguas para interactuar con hardware, sistemas operativos o para mejorar el rendimiento del programa. El estándar JNI debe al menos asegurarse de que el código local pueda funcionar en cualquier entorno de máquina virtual Java. En pocas palabras, JNI es conveniente para que Java llame a funciones en lenguajes C y C ++; Java proporciona interfaces (archivos de encabezado), C y C ++ para implementar estas funciones para que Java llame.
No hay interfaz para borrar la pantalla en Java, y todo el sistema ("CLS") en el idioma C se puede llamar a través de JNI. Por supuesto, se limita a la limpieza de la pantalla CMD, y no admite la limpieza de la consola de Eclipse.
paso:
1. Escribe la interfaz nativa de compensación de pantalla de Java.
clase pública Clear {static {System.LoadLibrary ("Clear"); // Load Clear.dll Dynamic Library} public Native static void clscmd (); // clear screen}2. Compile Clear.java y genere Clear.Class
3. Use Javah para generar el archivo de encabezado del idioma C correspondiente Clear.h
4. Use Visual Studio para crear proyectos WIN32 y generar bibliotecas dinámicas de DLL correspondientes
4.1 Crear un proyecto
4.2 Tipo de aplicación: DLL
4.3 Importe el archivo de encabezado Clear.h generado en el paso 3 y los dos archivos de encabezado JNI.H y JNI_MD.H que deben confiar en el proyecto
JNI.H está en el directorio de incluido de la ruta de instalación JDK.
JNI_MD.H está en el directorio WIN32 en el directorio de inclusión de la ruta de instalación JDK.
Copie y pegue estos tres archivos de encabezado en el directorio del proyecto:
Luego importarlos en VS:
Archivo de encabezado ---> Agregar ---> Elementos existentes ---> Seleccione los tres archivos de encabezado arriba ---> Agregar
Cambie #include <jni.h> en el archivo de encabezado Clear.h a #include "jni.h"
4.4 Agregue el archivo .cpp y escriba el código C.
Archivo de origen ---> Agregar ---> Nuevo elemento ---> archivo C ++: clear.cpp
#include "clear.h" #include <iostream> jniexport void jnicall java_clear_clscmd (jnienv *, jclass) {System ("CLS"); // C de la pantalla C claro}4.5 Configuración de la biblioteca dinámica DLL de 64 bits para generar
Solución ---> Propiedades
4.6 Generar DLL
Solución ---> Haga clic con el botón derecho para generar
5 Prueba
5.1 Copie Clear.dll al directorio donde claro. La clase se encuentra en los pasos 1 y 2.
5.2 Clases de prueba de escritura
clase pública testjni {public static void main (string [] args) {system.out.println ("hola jni"); Clear.clscmd (); // Clear Screen}}5.3 Clases de prueba de compilación
Javac testjni.java
5.4 Ejecutar clase de prueba
Java testjni
¡Pantalla perfecta, claro, hágalo! ! !