0

JNI (Java Native Interface)

Java (2)Java Native Interface – Parte 1

c++logoA Java Native Interface JNI define um padrão de nomes e convenções de funções que só a Máquina Virtual Java pode localizar e invocar nos métodos nativos de uma DLL gerada em C/C++ ou Assemble. O JNI habilita programadores a escrever métodos nativos para tratar situações em que uma aplicação não pode ser escrita inteiramente na linguagem Java.  A Java Native Interface define um padrão de nomes e convenções de funções que só a Máquina Virtual Java pode localizar e invocar nos métodos nativos.

Através do uso do padrão JNI podemos integrar nossos projetos Java com  DLLs geradas no em C.

nativesides

O Aplicativo javah

O aplicativo javah essencial para a criação da interface nativa é fornecido pela JDK. Utilizamos este aplicativo para gerar um arquivo .h que define os protótipos dos métodos de uma classe Java em forma de interface C/C++. Esta interface contém as declarações necessárias para compilarmos corretamente os módulos nativos que interagem com a JNI.

O aplicativo javah tem como vantagem reduzir os erros de programação na hora de integração de módulos nativos com a nossa JNI.

Para gerar um arquivo .h com o aplicativo javah devemos seguir com os seguintes passos:

1 - Compilação da Classe Java

2 - Criação da Interface Nativa

Após a criação da Interface Nativa será gerado um arquivo uma estrutura semelhante a:

Na próxima postagem, uma abordagem sobre tipos de dados.

0

Estruturas em C++

c++logo

Estruturas em C++

Este é o meu primeiro post sobre C++, eventualmente vou postar dicas e compartilhar o conhecimento sobre está linguagem, e pra começar segue uma breve definição e exemplo de uso de estruturas em C++. As estruturas (structs) são tipos de variáveis que permitem armazenar diversos tipos de dados em membros que compõem a mesma. Uma estrutura (struct) segue o modelo estrutura-membros, onde em uma estrutura podem ser definidos diversos atributos membros cada um com o seu tipo de dado definido no momento da declaração.

Sintaxe:

Os membros de uma estrutura podem ser declarados usando os tipos de dados do C++, Arrays e até mesmo outras estruturas.

Exemplo de Aplicação:

Para acessar a um membro de  uma estrutura devemos usar o operador ponto ( . ). Seguindo o modelo abaixo:

 Exemplo Prático:

 Resultado:

structCPlusPlus