Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
C/C++ para desenvolvedores Java- Java Magazine 88
Conheceremos neste artigo a Java Native Access, mais uma boa opção do Java para os profissionais que precisam trabalhar com C/C++ e acessar código nativo.
Java Magazine 88
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 88
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 88
C/C++ para desenvolvedores Java
Durante este minicurso, conhecemos o suporte das IDEs Eclipse e NetBeans para desenvolvimento nativo, através dos seus plug-ins para C/C++, implementamos alguns exemplos utilizando Java Native Interface, assim como realizamos algumas comparações. Para concluir esta série, mantendo uma estrutura semelhante à apresentada na segunda parte, analisaremos neste artigo a Java Native Access.
Trabalhando com JNA
Se o leitor conhece o ditado “é preciso conhecer o Inferno para dar valor ao Paraíso”, entenderá minha intenção em apresentar a JNI antes da JNA. A JNI é trabalhosa – e também perigosa, não sendo difícil cometer bugs que resultem em leaks, crashes ou corrupção do heap, mesmo quando o código JNI é apenas uma “casca” encapsulando código C/C++ preexistente e livre de bugs!
A JNI foi projetada nos idos de 1999; foi introduzida com o primeiro release Java2 (JDK 1.2), e suas raízes remontam às origens do Java. O JDK 1.0 tinha uma interface nativa muito rudimentar e limitada, que foi evoluindo, incorporando contribuições da Netscape (JRI) e Microsoft (RNI). O resultado final, a JNI, é poderoso, portável e compatível com JVMs avançadas (por exemplo, com algoritmos modernos de GC). Mas também é complexo.
Se o leitor imaginou se não seria possível criar algo mais moderno e produtivo, não foi o primeiro a ter a ideia. Há tempos existem projetos que encapsulam a JNI com interfaces mais convenientes. Um destes projetos, o JENIE, foi apresentado pelo artigo da Edição 36, e foi um dos precursores deste “movimento”; mas este projeto é antigo e já abandonado. Vamos falar aqui da opção atual, a JNA, que tomou o lugar de todos estes precursores – a JNA foi criada pela própria Sun, apesar de não ser uma parte oficial da plataforma, e acabou dominando este nicho.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Durante este minicurso, conhecemos o suporte das IDEs Eclipse e NetBeans para desenvolvimento nativo, através dos seus plug-ins para C/C++, implementamos alguns exemplos utilizando Java Native Interface, assim como realizamos algumas comparações. Para concluir esta série, mantendo uma estrutura semelhante à apresentada na segunda parte, analisaremos neste artigo a Java Native Access.
Trabalhando com JNA
Se o leitor conhece o ditado “é preciso conhecer o Inferno para dar valor ao Paraíso”, entenderá minha intenção em apresentar a JNI antes da JNA. A JNI é trabalhosa – e também perigosa, não sendo difícil cometer bugs que resultem em leaks, crashes ou corrupção do heap, mesmo quando o código JNI é apenas uma “casca” encapsulando código C/C++ preexistente e livre de bugs!
A JNI foi projetada nos idos de 1999; foi introduzida com o primeiro release Java2 (JDK 1.2), e suas raízes remontam às origens do Java. O JDK 1.0 tinha uma interface nativa muito rudimentar e limitada, que foi evoluindo, incorporando contribuições da Netscape (JRI) e Microsoft (RNI). O resultado final, a JNI, é poderoso, portável e compatível com JVMs avançadas (por exemplo, com algoritmos modernos de GC). Mas também é complexo.
Se o leitor imaginou se não seria possível criar algo mais moderno e produtivo, não foi o primeiro a ter a ideia. Há tempos existem projetos que encapsulam a JNI com interfaces mais convenientes. Um destes projetos, o JENIE, foi apresentado pelo artigo da Edição 36, e foi um dos precursores deste “movimento”; mas este projeto é antigo e já abandonado. Vamos falar aqui da opção atual, a JNA, que tomou o lugar de todos estes precursores – a JNA foi criada pela própria Sun, apesar de não ser uma parte oficial da plataforma, e acabou dominando este nicho.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

Você está em:
canal Java
Publicidade
Osvaldo Pinali Doederlein
Space do autor
é Mestre em Engenharia de Software Orientado a Objetos e Arquiteto de Tecnologia da Visionnaire Informática, trabalhando em projetos de software e prospecção tecnológica.
Space do autor


0
0
