Xenul
Messages postés35Date d'inscriptionmardi 8 août 2006StatutMembreDernière intervention28 octobre 2007
-
9 déc. 2006 à 10:59
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 2016
-
13 déc. 2006 à 22:50
Bonzour,
Je cherche a faire un équivalent de la fonction php call_user_func.
Pour ceux qui ne connaisse pas :
void toto(string machin) { ... }
int main(void) {
string truc = "toto";
}
je joudrais appeler la fonction toto a partir de la string truc.Cela doit être possible, reste a trouver comment faire :/ et pour le moment je n'ait rien trouvé snifff
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 9 déc. 2006 à 11:25
Ca veut dire quoi "une implémentation en C"?
Le nom d'une fonction n'a de sens qu'a la compilation. A l'exécution, une fonction n'a plus de nom, c'est juste une adresse. Il n'est donc plus possible de la retrouver à partir de son nom
Je sais qu'il y a des langages qui permettent de faire ca, mais pas le C
Sinon je veux bien voir un exemple ou c'est utile, parce que j'en n'ai jamais eu besoin moi
Xenul
Messages postés35Date d'inscriptionmardi 8 août 2006StatutMembreDernière intervention28 octobre 2007 9 déc. 2006 à 11:31
php : "Ce langage a été créé en 1994 par Rasmus Lerdorf pour son site Web. C'était à l'origine une bibliothèque logicielle en Perl dont il se servait pour conserver une trace des visiteurs qui venaient consulter son CV. Au fur et à mesure qu'il ajoutait de nouvelles fonctionnalités, Rasmus a transformé la bibliothèque en une implémentation en langage C, capable de communiquer avec les bases de données et de créer des applications dynamiques et simples pour le World Wide Web. Rasmus décida alors en 1995 de publier son code, pour que tout le monde puisse l'utiliser et en profiter. PHP s'appelait alors PHP/FI (pour Personal Home Page Tools/Form Interpreter)"
exemple d'utilité : bot irc, lorsque le proprio du bot lui passe des commandes, plutot que de vérif si la string = la commande, on vérif si la fonction éxiste, pui on l'appel, en php c'est trés pratique ^_^
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 déc. 2006 à 16:55
Si CGI est compilé, le script php par contre ne l'est pas, il est donc normal qu'on puisse appeler une fonction par son nom, il en est de même de tous les interprétés.
En langage compilé ça n'a bien entendu aucun sens ni aucun intérêt.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 13 déc. 2006 à 22:50
salut,
sinon tu as les pointeurs de fonctions mais de toute façon, tu ne peux pas appeler une fonction C/C++ par nom...
il existe cependant un moyen d'appeler des méthodes par nom : faire un objet COM implémentant IDispatch et plus particulièrement implémenter sa méthode GetIDsOfNames() et Invoke...tu peux jetter un oeil à ATL mais je te souhaite bien du courage...et effectivement, je ne vois pas bien l'intérêt de ralentir le C/C++...