Introdução ao JNI
JNI é a abreviação da interface nativa Java, que fornece várias APIs para implementar a comunicação entre Java e outros idiomas (principalmente C & C ++). A partir do Java 1.1, o padrão JNI tornou -se parte da plataforma Java, que permite que o código Java interaja com o código escrito em outros idiomas. O JNI foi projetado inicialmente para linguagens compiladas nativas, especialmente C e C ++, mas não o impede de usar outras linguagens de programação, desde que a convenção de chamada seja suportada. O uso do Java para interagir com o código compilado localmente geralmente perde a portabilidade da plataforma. No entanto, em alguns casos, isso é aceitável ou mesmo necessário. Por exemplo, use algumas bibliotecas antigas para interagir com hardware, sistemas operacionais ou melhorar o desempenho do programa. O padrão JNI deve pelo menos garantir que o código local possa funcionar em qualquer ambiente de máquina virtual Java. Simplificando, o JNI é conveniente para o Java chamar funções nos idiomas C e C ++; O Java fornece interfaces (arquivos de cabeçalho), C e C ++ para implementar essas funções para o Java LIGAR.
Não há interface para limpar a tela em Java, e todos os sistemas ("CLS") no idioma C podem ser chamados através do JNI. Obviamente, é limitado à limpeza da tela CMD e não suporta a compensação do console do console do Eclipse.
etapa:
1. Escreva a interface nativa de limpeza de tela de Java.
classe pública clear {static {System.loadlibrary ("clear"); // carregar clear.dll biblioteca dinâmica} public nativo estático void clscmd (); // tela transparente}2. Compile clear.java e gerar claro.class
3. Use Javah para gerar o arquivo de cabeçalho do idioma C correspondente limpo.h
4. Use o Visual Studio para criar projetos Win32 e gerar bibliotecas dinâmicas da DLL correspondentes
4.1 Crie um projeto
4.2 Tipo de aplicativo: DLL
4.3 importar o arquivo de cabeçalho Clear.h gerado na Etapa 3 e os dois arquivos de cabeçalho JNI.H e JNI_MD.H que precisam ser confiados no projeto
O JNI.H está no diretório incluído do caminho de instalação do JDK.
JNI_MD.H está no diretório Win32 no diretório incluído do caminho de instalação do JDK.
Copie e cole esses três arquivos de cabeçalho no diretório do projeto:
Em seguida, importá -los em vs:
Arquivo de cabeçalho ---> add ---> itens existentes ---> Selecione os três arquivos de cabeçalho acima ---> Adicionar
Altere #include <jni.h> no arquivo de cabeçalho Clear.h para #include "jni.h"
4.4 Adicione o arquivo .cpp e escreva o código C.
Arquivo de origem ---> add ---> novo item ---> arquivo c ++: clear.cpp
#include "clear.h" #include <iostream> jniexport void jnicall java_clear_clscmd (jnienv *, jclass) {("cls"); // CLEAR da tela de c c clero}4.5 Configuração da biblioteca dinâmica de DLL de 64 bits para gerar
Solução ---> Propriedades
4.6 Gere DLL
Solução ---> clique com o botão direito do mouse para gerar
5 teste
5.1 Copie Clear.dll para o diretório onde clear.class está localizado nas etapas 1 e 2.
5.2 Classes de teste de gravação
classe pública testJni {public static void main (string [] args) {System.out.println ("hello jni"); Clear.clscmd (); // Clear Screen}}5.3 Compilar aulas de teste
javac testjni.java
5.4 Executar a classe de teste
Java TestJni
Tela perfeita clara, faça isso! ! !