Acesso a DLL c/c++ sem uso de JNI ou Corba

Tem como acessr uma dll em c/c++ sem uso de jni ou corba…

Nao.

Rafael

Olá

O acesso normal é com JNI. CORBA pode ser usado dependendo de algumas condições especiais. E há algumas outras alternativas (algumas pagas) mais especiais ainda.

Use JNI que é o feijão com arroz.

[]s
Luca

existe algum exemplo de acesso a uma dll com jni?

Existe!

Acredito que as outras opções sejam mais dificeis que usar JNI ou corba.

Procura no google/sourceforge que existem ótimos wrappers pra JNI que te facilitam muito…

Olá

Quando respondi que haviam outros meios sendo alguns pagos, estava pensando justamente nos wrappers. Então fiquei com a consciência pesada porque a resposta correta da pergunta foi o que disse o Rafael, isto é, não. Os wrappers usam JNI por debaixo dos panos.

Mas ainda acho JNI tão fácil de usar que não imagino porque eu pagaria por uma lib só para encapsular a API padrão. Ou então porque a gente iria gastar tempo aprendendo novas APIs só para fazer algo assim:import com.excelsior.xFunction.*; ... /* Call Beep(1770,100) from KERNEL32.DLL */ xFunction f = new xFunction("kernel32", "int Beep(int,int)"); f.invoke(new Argument(1770), new Argument(100));
[]s
Luca

[quote=“Luca”]Olá

Quando respondi que haviam outros meios sendo alguns pagos, estava pensando justamente nos wrappers. Então fiquei com a consciência pesada porque a resposta correta da pergunta foi o que disse o Rafael, isto é, não. Os wrappers usam JNI por debaixo dos panos.
[/quote]

Da para usar algumas libs fazendo altas gambiarras com scripts shells e System.exec(), mas acaba sendo pior que JNI direto, por exemplo.

Os wrappers são bons para pessoas que não querer ter que aprender a API e o modelo de programação do JNI; que são chatinhos IMHO, esquecer de verificar por exceptions ou liberar 1 array e boom!, o software vai ter bugs muito dificeis de achar.

Outra coisa legal desses wrappers é que dado 1 include em C eles tem cospem classes java e fontes C prontos. Dai para escrever classes java que encapsulam de forma OO esses recursos é muito mais facil e produtivo.