Hola,
> Que es eso de hacer un wrappers
> intermedios en C ???.
Exponer el conjunto de funciones para ser
usadas desde C u otra plataforma por medios
tradicionales.
Normalmente, los componentes de la librería se
ven como punteros que son vueltos a pasar
a la librería (que los genera) sin importar si
son estructuras o componentes Cpuspus.
De esta forma uno usa desde C la funcionalidad
y no se complica con el uso de componentes
e interfaces altamente fraccionadas.
> Otra cosa que no entendí es :
> Hoy en día es muy raro encontrar que quien
> expone una librería lo hace solo
> en C++ (y no expone una API);
Normalmente quien hace una librería expone
una API para ser usada desde C.
Exponer componentes, en el caso de C++ (y
otros LOOs) te fuerza a usar la misma plataforma
de desarrollo del autor (lo que sería un mal
menor, al compararlo frente a lo que implica usar
sus componentes :-P ).
suerte con Nebula2,
hasta pronto,
Ale.
----- Original Message -----
From: "kikote gregoris" <kikogregoris@...>
To: <smalltalking@...>
Sent: Wednesday, March 08, 2006 4:54 PM
Subject: Re: [objetos] Objetos C++ con ST
> Hola Ale
>
> Bueno se trata de usar un Engine 3d que se llama Nebula Device 2 , que
esta desarrollado enteramente en C++, el motor es Free y se puden bajar
todos los fuentes http://nebuladevice.cubik.org/
>
> En algún momento pregunte si era conveniente el desarrollar un engine en
st , lo cual sigo pensando que seria la mejor solución .El problema es que
esto me aleja de mi objetivo primario que es desarrollar un game , charlando
con los desarrolladores de games de junin Oniric , me recomendaron que tome
la alternativa mas corta pues ellos tomaron la mas larga y no me lo
recomendaron para empezar.
>
> Es por eso que quería saber como hacer la conexión con objetos c++, vos
decís que es parecido a lo que se hace con objetos COM , tengo entendido que
los COM y los C++ son compatibles a nivel binario nada mas , cual es la
diferencia entre ambos.
> En MT la comunicación con COM es bastante fácil , ya que hay todo un
mecanismo bien definido para tal caso.
>
> Que es eso de hacer un wrappers
> intermedios en C ???.
>
> Otra cosa que no entendi es :
>
> Hoy en día es muy raro encontrar que quien expone una librería lo hace
solo
> en C++ (y no expone una API);
>
> saludos kiko
>
>
>
> "Alejandro F. Reimondo" <aleReimondo@...> escribió:
> kiko,
>
> Seguramente en MT tenes una opción muy transparente para usar elementos de
> C++... pues el compilador es estático y preparado para integrarse bien con
> windows.
> Fijate como se accede a objetos COM y seguramente allí tendrás guías de
como
> hacer lo que necesitas (no dejes de preguntar en la lista de usuarios del
MT
> para ser bien asistido en esta duda).
>
> En un momento (hace casi 10 años) me toco hacer una conexión como la que
te
> estás planteando (con un Smalltalk mío) para acceder a rutinas de
compresión
> por fractales (algo que estaba por "ponerse de moda" para comprimir
> imágenes, en ese entonces).
> El usar objetos C++ es algo menos frecuente de lo que parece.
> En ese momento lo que hice fue definir los métodos que tenia la DLL como
api
> calls (buscando la dirección del binding con el nombre mangleado y
> atachandoselo al método Smalltalk explícitamente), con un diseño similar
al
> que tiene VS.
> Así accedía a las funciones de instanciación del objeto C++.
> Luego de crearlo (y tener el miserable puntero :) accedía a la tabla
virtual
> y mapeaba la estructura del objeto cpuspus a una estructura dinámica
> (parecida a las SelfDefinedStructures en VS) y a una clase Smalltalk
> mapeando la tabla virtual con métodos definidos como API y a los que le
> pichicateaba la dirección de las funciones encontradas en la tabla
virtual.
>
> Como te imaginarás todo funcionaba de maravillas... pero luego de hacerlo
> (cosa indispensable para mantener mi sanidad y no tener que hacer wrappers
> intermedios en C) llegue a la conclusión que no era algo digno de
recomendar
> :-)
>
> Hoy en día es muy raro encontrar que quien expone una librería lo hace
solo
> en C++ (y no expone una API); pero si es ese tu caso; te recomendaría que
> evalúes si podes evitar usarlo (para no heredar la obsolescencia
> característica de este tipo de librerías).
>
> suerte,
> Ale.
>
>
>
>
>
> ----- Original Message -----
> From: "kikote gregoris" <kikogregoris@...>
> To: <smalltalking@...>
> Sent: Monday, March 06, 2006 4:52 PM
> Subject: [objetos] Objetos C++ con ST
>
>
> > Hola gente
> >
> > Queira saber como se puede interactuar con una dll que contiene un
> objeto c++ ?.
> > Algo bien simple , una clase XXX que contiene el metodo
> > int suma(int x , int y) .
> >
> > Lo quiero hacer desde el MT .
> >
> > saludos kiko
> >
> >
> > ---------------------------------
> > 1GB gratis, Antivirus y Antispam
> > Correo Yahoo!, el mejor correo web del mundo
> > Abrí tu cuenta aquí
>
>
>
> Para más información sobre la Asociación escribir a info@...
>
> Smalltalking es un espacio colaborativo creado para el estudio y
desarrollo en Ambientes de Objetos.
> Se sustenta gracias a la participación de sus socios.
>
> Las reglas de etiqueta sobre la lista están en
http://www.smalltalking.net/join/netiquete.htm
>
>
>
>
> ---------------------------------
> Enlaces de Yahoo! Grupos
>
> Para visitar el sitio web del grupo, andá a:
> http://ar.groups.yahoo.com/group/smalltalking/
>
> Para cancelar tu suscripción a este grupo, enviá un mensaje a:
> smalltalking-unsubscribe@...
>
> El uso de Yahoo! Grupos está sujeto a las Condiciones del servicio de
Yahoo!.
>
>
>
>
> ---------------------------------
> 1GB gratis, Antivirus y Antispam
> Correo Yahoo!, el mejor correo web del mundo
> Abrí tu cuenta aquí