Título: (Consula) ¿Se puede modificar una función en tiempo de ejecución? Publicado por: Seyro97 en 3 Octubre 2015, 08:35 am Hola. La pregunta viene del siguiente problema que me he planteado: quiero hacer un representador de funciones. El usuario ha de introducir una función cualquiera [ f(x) = ...].
La idea que he tenido es convertir el string en código máquina (siguiendo una sintaxis xD) La función en primera instancia se vería así: Código
Después de que el usuario haya introducido la función f(x) = x + 2, la función (en C++, Visual Studio) se vería así: Código
PD.: Quiero usar registros de 32 bits Gracias Título: Re: (Consula) ¿Se puede modificar una función en tiempo de ejecución? Publicado por: ivancea96 en 3 Octubre 2015, 09:36 am Te propongo otras opciones primero:
-Utilizar un lenguaje como python para realizar la ecuacion en tiempo de ejecucion -Interpretar la ecuacion con C++ C++ es un lenguaje compilado. Puedes meter en una variable el binario de una función y llamarla como si de una funcion se tratase. Pero eso ya es muy complicado. Título: Re: (Consula) ¿Se puede modificar una función en tiempo de ejecución? Publicado por: Seyro97 en 4 Octubre 2015, 12:54 pm Te propongo otras opciones primero: -Utilizar un lenguaje como python para realizar la ecuacion en tiempo de ejecucion -Interpretar la ecuacion con C++ C++ es un lenguaje compilado. Puedes meter en una variable el binario de una función y llamarla como si de una funcion se tratase. Pero eso ya es muy complicado. Me interesa lo complicado (bueno, quizás no, pero quiero ver cómo se hace!!). ¿Cómo podría llamar a la función guardada en una variable (Supongo que de tipo double *)? Título: Re: (Consula) ¿Se puede modificar una función en tiempo de ejecución? Publicado por: ivancea96 en 4 Octubre 2015, 13:45 pm Una función es un conjunto de bytes. Como tal, se pueden interpretar como código máquina, o como datos.
No me voy a extender. Lo que quieres no necesitará eso, pues para ello necesitarás realizar a mano algo parecido a un compilador. Título: Re: (Consula) ¿Se puede modificar una función en tiempo de ejecución? Publicado por: Seyro97 en 4 Octubre 2015, 14:31 pm Bueno, pues nada. Gracias por tus respuestas :D
|