Re: Llamadas a librerías C desde aplicación Java
Sebastian Gurin <sgurin-nLx/x0uvtyR/[email protected]>
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Organization | softpoint |
| Message-ID | <[email protected]> |
On Tue, 26 Aug 2008 13:42:30 +0200 "Daniel B" <[email protected]> wrote: > Gracias por la ayuda, pero entiendo bien cómo hacer un sencillo ejemplo. Mi > pregunta es si se pueden implementar métodos nativos que reciban y/o > devuelvan tipos no comunes a ambos lenguajes. El ejemplo que me envías se > limita a escribir por consola, sin parámetros ni nada complejo. > > Parto de la idea de que no tengo prácticamente idea de C, pero intentaré > explicarme mejor. Si una función de una librería DLL recibe como parámetro > un Objeto o Tipo que no existe en Java y devuelve un Objeto o Tipo que > tampoco existe, ¿hay forma de hacer la llamada a esa función desde Java? ¿o > sólo es posible llamar a funciones que usen "int", "boolean", "String", etc? en ese caso, la idea es que tu realices, del lado de C, una función que aceptando tipos soportados por jndi (char, string, double, integer, etc), llame a la función de la dll que recibe tipos de parámetros no soportados... > > Gracias de nuevo. > > El 26 de agosto de 2008 12:49, Carlos Nicolás <[email protected]> escribió: > > > --- On Tue, 26/8/08, Daniel B <[email protected]> wrote: > > From: Daniel B <[email protected]> > > Subject: [javaSpain] Llamadas a librerías C desde aplicación Java > > To: [email protected] > > Date: Tuesday, 26 August, 2008, 12:14 PM > > > > > > > > > > > > > > > > > > > > > > > > > > Buenos días > > > > Desde una aplicación Java tengo que utilizar unas librerías creadas en C de > > otra aplicación de servidor. Llevo varios días mirando las posibilidades de > > hacer esto y me encuentro con las siguientes opciones: > > > > > > 1. JNI. Por los ejemplos que he visto parece que es fácil de implementar > > pero tiene un problema: sólo veo que admita tipos de datos comunes a los dos > > lenguajes (tipos primitivos, String, Array) y las funciones C que debo usar > > tienen sus propias clases como argumentos de las mismas y como tipos > > devueltos. > > > > > > 2. JNDI. He mirado algo pero parece un mundo y no sé si realmente es lo que > > necesito. > > > > 3. CORBA. Idem punto 2. > > > > ¿Podéis decirme como ataco este problema? ¿Es posible lo que quiero hacer? > > Ya os adelanto que implementar las librerías C en lenguaje Java no es una > > opción. Si debo optar por una de esas 3 opciones, os agradecería que me > > indicárais un buen manual o lugar de referencia. > > > > > > Te mando un pequeño ejemplo usando JNI > > > > http://www.inonit.com/cygwin/jni/helloWorld/ > > > > Gracias por vuestra colaboración, > > Daniel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Send instant messages to your online friends http://uk.messenger.yahoo.com > > > > > -- Sebastian Gurin <sgurin-nLx/x0uvtyR/[email protected]>