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 cambiar el orden de los mensajes. Simplemente hacé clic en el enlace de columna fecha. Tus preferencias se guardarán, por lo tanto no necesitarás hacerlo otra vez cuando vuelvas a entrar.

Mensajes

  Mensajes Ayuda
Avanzado
Re: [objetos] API: _fastcall   Lista de mensajes  
Responder | Reenviar Mensaje #14829 de 17205 |
Re: [objetos] API: _fastcall

Hola
 
Ya esta, estaba usando una versión distinta a la de ALe.
No sabia que habían varias versiones de genesis3d.
Yo baje los fuentes y este corresponde a la version C++, tengo que ver donde esta la versión C para ver los fuentes.
 
saludos y disculpen las molestias.

kikote gregoris <kikogregoris@...> escribió:
Hola ALe , marcelo
 
OK, la funcion esta mangeada o lo que sea.
El tema es que debo estar usando una version distinta de genesis pues , no encuentro dentro de genesis.h una version en C de la funcion.
Esta es la convencion de genesis:
 
#ifdef __cplusplus
extern "C" {
#endif
/******** The Genesis Calling Conventions ***********/
#define GENESISCC _fastcall
#if defined(BUILDGENESIS) && defined(GENESISDLLVERSION)
  #define GENESISAPI _declspec(dllexport)
#else
  #if defined(GENESISDLLVERSION)
    #define GENESISAPI _declspec(dllimport)
  #else
    #define GENESISAPI
  #endif
#endif
 
 
Luego todas las funciones de Camera estan de esta manera:
 
GENESISAPI geCamera   *GENESISCC geCamera_Create(geFloat Fov, const geRect *Rect);
 
Donde GENESISCC  es la famosa _fastcall.
 
No se o estoy usando una versión distinta de genesis o ???.
 
No creo estar usando una versión distinta ya que es la misma que ALe usa para VS.
O sera un problema de MT de como ve las funciones ???
 
Alguna idea ????.
 
saludos kiko
 
Si quieren hacer una prueba tonta, solo vasta con ir a la opcion del menu Tools\image properties y en la pestaña linkage agregar la DLL y una ves cargada hacer doble clik sobre la misma y ver como muestra las funciones.
No es obligacion que lo hagan, solo si tienen tiempo y ganas.


ejandro F. Reimondo" <aleReimondo@...> escribió:

>   @geCamera_Create@8.

Creo que esta funcion no es de la interfaz C, sino de la de C++;
pues el nombre está "mangleado".

Usá la versión C de la función... segun pienso estas "funciones C++"
están expuestas para poner alegres a las aplicaciones que
interactúan via Cpuspus; que no debería ser necesario
de usar en Smalltalk, ya que haría mas fragil aún tu sistema.

suerte,
Ale.


----- Original Message -----
From: "kikote gregoris" <kikogregoris@...>
To: <smalltalking@...>
Sent: Friday, June 02, 2006 4:52 PM
Subject: Re: [objetos] API: _fastcall


> Hola ALe
>
>   Estube mirando pero no hay nada de _fastcall  digo que, solo define API
,C y otras .
>   API por lo que se, usa stdcall y es la convencion que usan las APIs de
win y C es cdcall que es la convencion C por defecto.
>
>   Lo que pasa es que las funciones que usan _fastcall en Genesis MT me las
muestra con:
>
>   @geCamera_Create@8.
>
>   Cuando intento hacer la llama me dice que no se puede carcar la funcion.
>
>   Lo que me llama la atencion es que yo uso la convencion C que es la
misma de VS, creo.
>   Puedo hacer la llamada de otra forma mas complicadam, que es tomando la
direccion de la funcion y con un par de metodos que implementa MT lo hace
pero no creo que sea la manera de trabajar.
>
>   saludos kiko
>
> "Alejandro F. Reimondo" <aleReimondo@...> escribió:
>   En VS tenes varias formas de definir un metodo api,
> con un mecanismo incluso extensible.
> Fijate en los implementors de #apiPrimitiveMap
> Cada forma se corresponde con una manera de
> realizar la llamada nativa; si usas una que no corresponde,
> ocurre lo que siempre ocurre con el lenguaje
> de máquina :-)
> suerte,
> Ale.
>
>
>
> ---- Original Message -----
> From: "kikote gregoris" <kikogregoris@...>
> To: <smalltalking@...>
> Sent: Tuesday, May 30, 2006 11:06 PM
> Subject: [objetos] API: _fastcall
>
>
> > Hola
> >
> >   Tengo problemas para invocar una funcion exportada como _fastcall
desde
> MT.
> >
> >   Desde VS no hay dramas ya que vasta con usar la palabra reservada API
y
> listo.
> >   Lo que me llama la atencion es que en la ayuda no hace diferencias
entre
> las distintas convenciones, incluso no nombra a _fastcall la cual es
> diferente de las demas por que los parametros son pasados en los registros
y
> no en la pila.
> >
> >   Por que en VS funcionan igual, sin hacer diferencias entre
> convenciones.??
> >   Todo esto esta derivado del uso de genesis3d.
> >
> >   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!.
>
>
>
>
> ---------------------------------
>  Horóscopos, Salud y belleza, Chistes, Consejos de amor.
>  El contenido más divertido para tu celular está en
> Yahoo! Móvil



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í

Sáb, 3 de Jun, 2006 2:43 pm

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

Reenviar Mensaje #14829 de 17205 |
Desplegar mensajes Autor Ordenar por fecha

En VS tenes varias formas de definir un metodo api, con un mecanismo incluso extensible. Fijate en los implementors de #apiPrimitiveMap Cada forma se...
Alejandro F. Reimondo
alereimondo
Sin conexión Enviar correo
31 de May, 2006
2:49 pm

Hola ALe Estube mirando pero no hay nada de _fastcall digo que, solo define API ,C y otras . API por lo que se, usa stdcall y es la convencion que usan las...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
2 de Jun, 2006
7:56 pm

Hola gente Kiko parece que tenes problemas de mangling lo que pasa es qe el compilador maneja el nombre de las funciones y no te deja el nombre conqe vos...
Marcelo Diaz Cortez
mdc_marcelo
Sin conexión Enviar correo
2 de Jun, 2006
8:32 pm

... Creo que esta funcion no es de la interfaz C, sino de la de C++; pues el nombre está "mangleado". Usá la versión C de la función... segun pienso estas...
Alejandro F. Reimondo
alereimondo
Sin conexión Enviar correo
2 de Jun, 2006
8:29 pm

Hola ALe , marcelo OK, la funcion esta mangeada o lo que sea. El tema es que debo estar usando una version distinta de genesis pues , no encuentro dentro de...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
3 de Jun, 2006
2:25 pm

Hola Ya esta, estaba usando una versión distinta a la de ALe. No sabia que habían varias versiones de genesis3d. Yo baje los fuentes y este corresponde a la...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
3 de Jun, 2006
2:53 pm

Kikote No no en mangleada por el extern "C" {,claro que si esta definida __cplusplus. El _fastcall es la convencion de pasaje de parametros, lo que me parece...
Marcelo Diaz Cortez
mdc_marcelo
Sin conexión Enviar correo
4 de Jun, 2006
4:09 pm

Hola marcelo Mira, hay 2 versiones de genesis. Una es la oficial y la otra no oficial. No podria asegurarte que los fuentes sean distintos en la convencion,...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
7 de Jun, 2006
2:20 pm

Hola kiko , gente Ok si no sabia que hay dos versiones.. ... mira en el script que mandaste segun recuerdo es un simbolo que usa el script para evitar o...
Marcelo Diaz Cortez
mdc_marcelo
Sin conexión Enviar correo
7 de Jun, 2006
5:22 pm

Kikote No no en mangleada por el extern ,- .,mdva .aca el ... __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes,...
Marcelo Diaz Cortez
mdc_marcelo
Sin conexión Enviar correo
4 de Jun, 2006
4:26 pm
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