Seguidores

terça-feira, 27 de julho de 2010

...Criando uma dll usando JNA ..."JAVA"...

Dll's ou bibliotecas"ex: lib" são funções criadas dentro de um programa,

podem ser estaticas ou não, são carregadas em memoria e chamadas em outras

aplicações neste exemplo usaremos a tecnologia JNA pois seus metodos são bem mais simples, criaremos em C uma função para ser chamada no java isso poderia ser um metodo que faz um calculo aritmetico .

Vamos criar uma LIB em java: após acessar a sua "API" crie um projeto chamado:

TesteJNA.

Crie um Folder chamado Testelib.

Crie um Pacote chamado Teste1 para guardar as usas classes,

e um segundo pacote para criar as suas interfaces Teste2.

Crie uma classe chamada TesteJNA.

Crie uma Interface chamada iTeste e extenda a library desta forma procure sempre

fazer com que o seu codigo se torne simples usando siglas de identificação

seja ORGANIZADO.

ex:inum: i=inteiro, num=variavel. ex2:iTeste:i=interface,Teste=nome da interface.















Essa é a Interface que Criamos:





package Teste1;



public interface iTeste extends Library{

public int EquipeSum(int x, int y);

}



















dentro da classe que criamos TesteJNA ficará assim:





Essa é a Classe que criamos:



package Teste1;



import com.sun.jna.Native;

public class TesteJNA{

public static void main(String[]args){

String libName = "DllTeste.dll";

iTeste demo = (iTeste) Native.loadLibrary(libName,

iTeste.class);

System.out.println(demo.EquipeSum(10

,10));

}

}

Agora em C criaremos a Dll voce tera de criar um projeto do tipo Dll
apos crialos defina as classes com o ponto c e ponto H de Handler
o ponto H recebera o codigo:
#include"TutorialCCode.c"
#include

DLLIMPORT void DisplayHelloFromDLL()
{
printf("Hello From C/C++ Library\n");
}

DLLIMPORT int Add(int one, int two)
{
return one + two;
}



Já no ponto H temos o seguinte codigo:

#ifndef _DLL_H_
#define _DLL_H_
#if BULDING_DLL
#define DLLIMPORT _declspec (dllexport)
#else
#define DLLIMPORT _declspec(dllimport)
#endif

DLLIMPORT void DisplayHelloFromDLL (void);
DLLIMPORT int Add(int,int);
#endif

OK
sua chamada de Dll ou melhor Biblioteca esta pronta

Instalando aplicativos em celular.