Bem pessoal, eu gosto de Java e eu gostaria
desenvolver qualquer tipo de aplicação para qualquer plataforma
utilizando esta linguagem. Apesar de eu conhecer C e C++ acho Java menos
carregada sintaticamente do que estas linguagens.
Nesta semana eu estou tendo uma
experiência bastante interessante. Um (futuro) cliente quer desenvolver
aplicações para plataforma windows de um dispositivo para leitura
de de impressões digitais. O fabricante do equipamento fornece um sdk que
são dlls para desenvolever tais aplicações.
Portanto, se eu for usar Java, terei que
implementar métodos nativos para chamar as funções desta
dll. O problema é que algumas das funçoes são utilizadas
para passar funções de "call Back".
Resumindo, eu terei que passar o
endereço de um método em Java ( a função de call
back). Como obter o endereço de um método definido em Java
?
Quando se pensa em métodos nativos
é sempre no sentido de implentar um método de Java em C.
O problema inverso , isto é, é
dada uma função C e se deseja chamá-la através
de um método (estático) não é
enfatizado.
Por exemplo digamos que
nesta dll tenha uma função cujo protótipo
seja
int * f(int * a);
Como seria assinatura do corresponderte
método estático nativo em Java ?
Digamos que nesta dll tenha uma estrutura por
exemplo:
typedef void (*FUN)(int);
struct qualquer
{
FUN x;
};
Como seria a correspondente classe em Java ?