luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 2008
-
14 févr. 2005 à 17:55
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 2008
-
15 févr. 2005 à 11:35
Bonjour à tous, je me lance dans un interpréteur de formules ou plus exactement de fonctions.
On pourra définir une nouvelle fonction de "n" variables, puis évaluer
la fonction en définissant les valeurs des inconnues. Seulement, je
veux programmer deux méthodes, une simple mais lente (cad un
"organigramme"), une autre qui me semble ultra-rapide mais compliquée:
En fait, je veux pouvoir évaluer une fonction des milliers de fois par
seconde, sans que ca se ressent sur les performances. Je voudrais donc
que mon programme crée le code hexadécimal dans la RAM qui
évaluerait la fonction. Pour l'instant, je limite au cas de mon
pentium3, est-ce que quelqu'un saurait où je peux trouver les codes
hexadécimaux correspondant aux fonctions simples de l'arithmétique ?
En quelque sorte, mon programme doit prendre ma place et créer un code
machine correspondant à une fonction, mais est-ce que ca semble
faisable d'allouer un espace avec malloc puis d'écrire du code machine
dedans, puis exécuter ce code ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 févr. 2005 à 19:02
Alloue la mémoire avec VirtualAlloc, il faudra le flag PAGE_EXECUTE.
Les codes machines sont dans les manuels Intel ici:
http://brunews.free.fr/brunews/