Entrar
¿Nuevo usuario? Inscribirme
smalltalking · Un lugar para el estudio y desarrollo de Ambientes de Objetos virtuales.
? ¿Ya estás suscrito? Entra a Yahoo!

Consejos

¿Sabías que...?
Podés hacer búsquedas de antiguos mensajes del grupo.

Mensajes

  Mensajes Ayuda
Avanzado
Re: [objetos] Objetos C++ con ST   Lista de mensajes  
Responder | Reenviar Mensaje #14682 de 17190 |
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í



1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
Abrí tu cuenta aquí

Mié, 8 de Mar, 2006 7:54 pm

kikogregoris
Sin conexión Sin conexión
Enviar correo Enviar correo

Reenviar Mensaje #14682 de 17190 |
Desplegar mensajes Autor Ordenar por fecha

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 ...
Alejandro F. Reimondo
alereimondo
Sin conexión Enviar correo
7 de Mar, 2006
10:57 am

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...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
8 de Mar, 2006
7:54 pm

Hola, ... Exponer el conjunto de funciones para ser usadas desde C u otra plataforma por medios tradicionales. Normalmente, los componentes de la librería se ...
Alejandro F. Reimondo
alereimondo
Sin conexión Enviar correo
8 de Mar, 2006
9:42 pm

Hola ALe Los fuentes estan para hacer lo que uno quiere , no hay una DLL echa . Con respecto a exponer un API , podrías decirme como hacer esto con algun...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
9 de Mar, 2006
8:25 pm

(quizas lo que sigue es una explicación muy boluda de cosas que ya sabes, pero que son nesarias para entender por que interactuar con C++ es más complejo que...
Diego Fernandez
diegof79
Sin conexión Enviar correo
13 de Mar, 2006
1:28 pm

... Diego, muy buena tu explicación. Gracias. -- Esteban...
Esteban A. Maringolo
emaringolo
Sin conexión Enviar correo
13 de Mar, 2006
2:10 pm

Hola diego Muy buena la explicación , la verdad es que no tenia idea de todo este quilombo. Voy a investigar un poco mas la cuestión , para que me quede...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
13 de Mar, 2006
5:55 pm

La verdad que no sé nada de formas automaticas de hacer esas cosas :( (tengo entendido que habia una herramienta para VAST que leia archivos .h y generaba la...
Diego Fernandez
diegof79
Sin conexión Enviar correo
13 de Mar, 2006
8:25 pm

Hola diego Que es lo que te hace pensar que nebula tiene características de alto nivel que me puedan complicar la vida ??. Yo leí la documentación y sin ser...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
16 de Mar, 2006
8:24 pm

A "alto nivel" me refiero a que Nebula no solo provee graficos 3d (ala OpenGL), si no que ademas tiene modeladas muchas abstracciones como file I/O, threads,...
Diego Fernandez
diegof79
Sin conexión Enviar correo
17 de Mar, 2006
2:47 am

Hola diego OK , ahora me queda claro a que te referias . Supongo que no es una traba para poder usar el motor ??. saludos kiko Diego Fernandez...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
17 de Mar, 2006
7:55 pm

Hola ALe Cual es la estructura de un objeto C++ y que lo diferencia con un ST, En los manuales de MT hay un esquema que muestra al objeto ST con una direccion...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
9 de Mar, 2006
8:52 pm

Hola kiko, ... Hace una DLL que use la librería y expone una funcion API por cada funcionalidad que desees usar. Creo que hay herrameinats que automatizan (al...
Alejandro F. Reimondo
alereimondo
Sin conexión Enviar correo
9 de Mar, 2006
10:14 pm

Hola ale Estas diciendo que se me va a complicar trabajando con este engine ???. La eleccion del mismo es por que es free y no encontre otra alternativa free...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
10 de Mar, 2006
8:30 pm

Hola, ... Ninguna. En C++ no se puede trabajar con objetos. En C++ u otro LOO se puede ambicionar como máximo el trabajar OO; es decir, con componentes. ...
Alejandro F. Reimondo
alereimondo
Sin conexión Enviar correo
9 de Mar, 2006
10:25 pm

Hola ale En un articulo tuyo explicas las diferencias entre un objeto ST y un componente , el echo es que estoy confundido ya que en algunos lugares llaman...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
10 de Mar, 2006
8:06 pm

Hola, Si uno usa herramientas que solo permiten trabajar Orientado a Objetos (y hacer diseño OO), no hay posibilidad de distinguir entre componente y objeto;...
Alejandro F. Reimondo
alereimondo
Sin conexión Enviar correo
10 de Mar, 2006
10:57 pm

Hola kiko, ... No me pareció que Diego dijera que algo te impidiera usarlo, sino más bien que al usarlo, seguramente deberías lidiar con elementos externos,...
Alejandro F. Reimondo
alereimondo
Sin conexión Enviar correo
18 de Mar, 2006
3:08 pm

Hola ALe Bueno, creo que este es el mismo problema que uno tiene con los esquemas de persistencia, con la diferencia que en esta área uno puede elegir usar...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
21 de Mar, 2006
6:38 pm

Hola, ... Nada en particular, solo motivar a un diálogo sobre los temas que convoca nuestro objeto (el de Smalltalking). Tu situación creo que no es aislada;...
Alejandro F. Reimondo
alereimondo
Sin conexión Enviar correo
22 de Mar, 2006
12:00 am
Avanzado

Copyright © 2009 Yahoo! de Argentina S.R.L. Todos los derechos reservados.
Política de privacidad - Condiciones del Servicio - Reglas de la comunidad de Yahoo! - Ayuda