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.
C/C++ para desenvolvedores Java – Parte 1
C/C++ para desenvolvedores Java – Parte 2
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.
Para que serve:
Se seus sistemas precisam se relacionar com código C/C++, esta é uma excelente alternativa que simplificará seu trabalho.
Em que situação o tema é útil:
O tema é útil para todos aqueles que têm interesse em aprender sobre a integração do Java com as linguagens C e C++ e saber como estão os avanços nesta área – que hoje apontam para a JNA.
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."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo