Java Native Interface

Surgiu a necessidade de usar o JNI (Java Native Interface) e tive muita dificuldade para encontrar informações sobre o assunto. Então resolvi compartilhar o que aprendi sobre este assunto.

[ Hits: 21.693 ]

Por: Allan kardec Santos Oliveira em 22/09/2011


Funcionamento



Para que o Java encontre as funções escritas em outras linguagens, estas funções devem ser definidas utilizando tipos que o Java vai reconhecer.

Os tipos primitivos como int, float, double do C/C++ devem ser substituídos pelos tipos definidos no JNI tais como como jint, jfloat, jdouble, jstring etc.

Veja os tipos primitivos definidos pelo JNI:
Veja mais detalhes no site:
Veja um esquema simples do funcionamento:
Página anterior     Próxima página

Páginas do artigo
   1. O que é o JNI
   2. Funcionamento
   3. Exemplo de utilização do JNI
   4. Um exemplo mais complexo
Outros artigos deste autor

Construindo uma aplicação JDialog

Emulando o Internet Explorer no Slackware

Criando classe Java para conectar e manipular dados no MySQL

Leitura recomendada

Busca corporativa com Apache Solr - Motivação e conceitos

Desenvolvendo aplicações Web 2.0 com Java e AJAX (FrameWork DWR)

Trabalhando com classes e métodos em Java (parte 2)

Trabalhando com a interface gráfica em Java

GCJ – Conhecendo o compilador Java Livre

  
Comentários
[1] Comentário enviado por asdf2 em 23/09/2011 - 00:42h

artigo bom mas esqueceu de por um simples hello world pra comparação de codigo, mas valeu, nota 8

[2] Comentário enviado por elyssonmr em 23/09/2011 - 10:31h

Muito legal isso, só não entendi uma coisa: você utiliza o Header da lib parted e depois gera o .so compatível com o jni certo?

Se já possuir um .so pronto como eu faria para linkar com o java, porque neste caso o a lib a ser utilizada esta sendo compilada?

Vlw

[3] Comentário enviado por super-root em 23/09/2011 - 17:58h

Elyssonmr, caso você tenha uma lib no padrão do JNI, então será necessário conhecer as funções/declarações desta biblioteca. Desta forma seria necessário criar somente o programa em java com lendo as funções da biblioteca.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts