Hola Esteban , gente
Me lo recomendaron para automatizar la modificación de la DLL.
Sed usa expresiones regulares y se supone que me daría algún tipo de beneficio
para hacer lo que quiero.
La verdad es que no veo forma de hacerlo de manera fácil, por lo que voy a
optar por hacer un lazy initialize desde smalltalk por cada función que
necesite como me dijo Udo de la lista de dolphin.
Modificar la DLL a pata, es trabajo de negro :) y no tengo ganas de hacer eso,
cuando encuentre la forma de hacerlo automatizado lo hare.
Si alguien ya paso por eso y quiere contarme como lo realizo genial, sino no
hay drama.
Por si a alguien le interesa saber , la DLL declara algo así por cada funcion:
typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat
green, GLfloat blue);
#define glSecondaryColor3fEXT GLEW_GET_FUN(__glewSecondaryColor3fEXT)
GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT;
Yo reemplazo el puntero exportado por algo así:
GLEW_FUN_EXPORT GLvoid glewSecondaryColor3fEXT(GLfloat red, GLfloat green,
GLfloat blue)
Luego en Glew.c
GLvoid glewSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue)
{ glSecondaryColor3fEXT(red, green, blue); }
Y eso es todo.
El tema es que son + de 500 !!!.
saludos kiko
--- El mar 13-jul-10, Esteban A. Maringolo <[email protected]> escribió:
De: Esteban A. Maringolo <[email protected]>
Asunto: Re: [clubSmalltalk] Dolphin: Puntero a funcion ?
Para: [email protected]
Fecha: martes, 13 de julio de 2010, 15:55
No entiendo quien te recomendó que uses "sed", es bastante ofuscado para su
uso, y solo se justifica si no tenes una interfaz gráfica, ya que podes
realizar transformaciones (search&replace, entre otras cosas) sin tener que
tener ventanas.
Usá el editor que te quede más cómodo, y si es en windows puede ser Notepad++.
Saludos.
Esteban A. Maringolo
El 13 de julio de 2010 15:49, Jose Gregoris <[email protected]> escribió:
Hola Juan, gente
Encontré que hay por lo menos dos librarias que hacen algo parecido.
GLee y GLEW . El problema con estas librerias sigue siendo el mismo, pues solo
exportan punteros a funciones.
Ahora ya se como modificar el fuente, de por lo menos GLEW , para que exporte
funciones como juan me recomendaba.
El punto es que son una cantidad enorme, mas de 500 !.
Alguien en el foro de ADVA me recomendo usar un editor llamado SED
para modificar el fuente.
Te pregunto juan, vos usaste este editor ?
O no eran tantas la funciones que tenias ?
El tema de usar SED es que por el momento ( estoy averiguando) no tengo idea de
como usarlo.
Si alguien lo ha usado agradecería la
colaboración :)
saludos kiko
Pd: A en el foro de dolphin el amigo Udo me dijo como usar los punteros a
funciones directamente .
El tema es que hay que hacer todo a pata, a menos que invente algo
--- El lun 5-jul-10, Juan <[email protected]> escribió:
De: Juan <[email protected]>
Asunto: Re: [clubSmalltalk] Dolphin: Puntero a funcion ?
Para: [email protected]
Fecha: lunes, 5 de julio de 2010, 15:31
Kiko
Sino encontras otra manera uan solucion ( yo la implemente)
es crear una dll q haga el trabajo, porque en C o c++ ( yo use ansi C)
es mas falicil hacer un call a un puntero
de una funcion.
ademas podes hacer q tu dolphin llame a esa dll. ( la q vos creas como wrapper).
tu dll llame a la libreria gdi o opengl)
ademas vos solo declararias los parametros para pasarselos a la dll wrapper y
desde alli haces la llamada a opengl.
Cuando yo lo hize lo hize para evitar muchisimos parametros q eran structs.
en C la declaracion de una struct es basica.
y solo queria una o sod funciones .
Si no entendiste algo avisa.
saludos
MDC
2010/7/5 GallegO <[email protected]>
Disculpá pero no trabajo con eso habitualmente asi que no tengo ejemplos a
mano. Te fijaste en toda la implementacion de GDIPlus?
Saludos
El 5 de julio de 2010 14:30, Jose Gregoris <[email protected]> escribió:
Hola Gallego
Te fijaste en la ayuda de Dolphin?
Si claro, siempre trato de agotar las opciones antes de preguntar.
La verdad es que no encuentro nada util en la ayuda.
En smalltalk MT MemoryManager te permitia hacer llamadas a funciones externas
conociendo su dirección.
En el caso de Dolphin no veo la forma ?
Si me podes dar una ayudita sería genial
saludos kiko
--- El lun 5-jul-10, GallegO <[email protected]> escribió:
De: GallegO <[email protected]>
Asunto: Re: [clubSmalltalk] Dolphin: Puntero a funcion ?
Para: [email protected]
Fecha: lunes, 5 de julio de 2010, 13:27
Kiko:
Te fijaste en la ayuda de Dolphin? Esta todo documentado.
Saludos
El 5 de julio de 2010 10:07, Jose Gregoris <[email protected]> escribió:
Hola
En un ejemplo con OpenGL debo usar un puntero a una función.
En C++ se declara así:
myglSecondaryColor3f = (PFNGLSECONDARYCOLOR3FPROC)
wglGetProcAddress("glSecondaryColor3fEXT");
Despues obtener el puntero, como se hace en dolphin para poder llamar a la
función ?
Veo que hay algo llamado ExternalMethod, pero no veo la forma de utilizarlo.
Además no se si la cosa va por hay.
Sugerencias ?
saludos kiko
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
http://www.clubSmalltalk.org
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
http://www.clubSmalltalk.org
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
http://www.clubSmalltalk.org
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
http://www.clubSmalltalk.org
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
http://www.clubSmalltalk.org
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
http://www.clubSmalltalk.org
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
http://www.clubSmalltalk.org
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
http://www.clubSmalltalk.org