Bueno estaba usando maquina de estados (FSM)
y se me vino a la mente usar funciones con punteros
(*p)()
hay alguna forma de guardar en una variable pointer la direccion de una funcion?
asi en lugar de usar una hilera de swicth , podria usar una simple variable que llame
a una funcion determinada
(*vectorfunciones[estadoactual])();
y seria mas rapido .. pero bueno ya que esto se hace en tiempo de compilacion
habria alguna forma de hacerlo desde una DLL me podrian dar sugerencias?
Lo comente hace tiempo... Creo que tal y como esta Bennu ahora no se puede, pero seria interesante poder tener punteros a funcion como en C... Por ejemplo el sort para ordenar podria hacerse generico si pasamos la funcion con el criterio de ordenacion :P
maquina de estado finito...
podrias ejecutar una funcion a partir de su nombre, pero punteros a funcion no es posible.
No he entendido bien lo que ha querido decir Splinter ;D, pero recuerdo que esto ya se discutió tiempo ha y se dijo que sí era posible, pensé que ya estaba implementado ¿o fue en Fenix?
¿Ejecutar a partir del nombre? ¿Entonces un parametro de tipo string podria indicar la funcion a ejecutar?
claro, como lo hace el modulo de debug...
Module name: mod_debug.dll
Module Dependency:
libkey
librender
Globals vars dependency:
shift_status
Locals vars dependency:
id
father
bigbro
son
reserved.status
Internals callbacks:
module_initialize
module_finalize
process_exec_hook
Arg, poco se puede sacar con esto, he mirado el delicioso manual de Osk y aunque he visto algunas posibilidades interesantes (No he usado a fondo las posibilidades del debug aun) no se habla de ello. ¿Algun ejemplo de invocacion a una funcion a partir de una string que guarda su nombrecito?
Es interesante, ¿Pero tambien se puede especificar en la string la cantidad y tipo de los parametros?, con eso ya tenemos una alternativa al puntero a funcion de C :P
Ejemplito please :D
nop, desde el debugger, vos podes lanzar un proceso si queres con sus parametros... y eso mismo es una funcion, mas que una funcion, una buena porcion de codigo, que no solo lanza el proceso a partir de su nombre, sino que analiza los tipos de parametros y la cantidad...
en base a ese codigo se podria hacer una dll que lance procesos o funciones... pero esto es "basado en"... no hay una funcion lista que ya haga esto...
NO LO habia visto...
ok me sirve , gracias... ;D