Question sur la compilation

Question sur la compilation - C++ - Programmation

Marsh Posté le 13-05-2004 à 14:04:26    

Bonjour a tous,
 
j ai fait un petit programme sous microsoft visual c++ qui prend dans une boite de dialogue un morceau de code rentre par l utilisateur. Le but de la chose maintenant est de faire en sorte que le programme compile le fichier cree par l utilisateur et execute ensuite le programme si il n y a pas d erreur... Si il y a des erreurs ben la je verrai une chose est sure dire a l utilisateur que l execution n aura pas lieu car il y a des erreurs voire lui dire les lignes ou sont les erreurs... Enfin dans un premeir temps l plus important serait de toute facon de compiler le bout de code entre par l utilisateur. Est ce que quelqu un pourrait me donner une piste de comment je peux faire cela ? Telecharger un compilateur gratuit qui fonctionne en ligne de commande que je fournis avec mon programme ? Et ensuite faire executer la ligne de commande pour compiler dans mon programme ? Ou bien est ce que je suis tout a fait dans la mauvaise direction pour realiser cela ?
Je vous remercie par avance

Reply

Marsh Posté le 13-05-2004 à 14:04:26   

Reply

Marsh Posté le 13-05-2004 à 14:08:57    

Mouais...
L'idéal est un langage de script genre Python.
Tu peux embarquer l'interpréteur et exécuter le code depuis ton appli.
Sinon ouai tu peux balancer ça vers un compilo... Y'a VC++ 7.1 qui est gratos (VC++ Toolkit 2003).
Mais bon, c'est pour faire quoi au juste ?

Reply

Marsh Posté le 13-05-2004 à 14:19:50    

Euh c est simplement pour compiler une dll de facon "dynamique" comme ca je lance mon prog et apres je peux rentrer le code que je veux executer... toujours sans acceder a la source je peux alors changer le code a executer... de cette maniere en fait je peux fixer avec des expressions regulieres des regles de communication dans ma dll et je peux ainsi simuler un des partenaires communiquant. Le but de l utilisation de la compilation pendant que le prog tourne etant dans le cas present que l utilisateur qui a pas acces au source peut aussi rentrer ces regles de simulation et de reponse aux expressions regulieres ... c comprehensible ce que je raconte ou pas du tout ?

Reply

Marsh Posté le 13-05-2004 à 14:24:21    

Ben j'ai pas compris pourkoi tu as besoin de recompiler ton soft juste pour changer une regex.

Reply

Marsh Posté le 13-05-2004 à 14:34:47    

bon alors voila ce que fait mon soft... il tourne sur un ordi qui est branche en serie a deux autres ordis... il fait un fichier journal (log) de leurs communications. Ensuite je fais une nalyse avec mon interface graphique en fait et mon but est alors de rentrer des expressions regulieres pour regrouper le nombre incroyables de messages differents que les machines s envoie en un nombre d expressions regulieres regroupant les messages de mem type. Alors je veux maintenant aux yeux d une des deux machines branchees simuler l autre machine. Mais je veux pas changer la source pour fixer a chaque fois les regles de simulation, c est pourquoi j ai fait un soft parallele qui est recompile et qui est ecrit par mon soft principal qui contient le code definissant les regles de simulation. Ce code peut etre change par interface graphique snas relancer le prog c est ca le but...

Reply

Marsh Posté le 13-05-2004 à 14:41:28    

Et pouquoi ton soft ne peut-il pas demander en cours d'exécution la regex à utiliser ?

Reply

Marsh Posté le 13-05-2004 à 14:47:08    

en fait je recois un message par une machine et je compare ce message et trouve a quelle regex il correspond et en fonction de ca je dois repondre un certain truc. J aurais donc pu faire un bete fichier texte de forme "regex recue= message a renvoyer=". Cependant ej veux pas renvoyer toujours le meme message face a la meme regex c est pourquoi j aurais pu mettre une liste de messages par regex a renvoyer et apres que le soft en choississe une au hasard. Mais c est pas le top le mieux c est que je recoive un message je trouve a quelle regex il corerespond et l utilisateur qui est le roi aura rentre sa rgle de reponse face a un tel message... un truc du style une rampe partant de 0 la premiere fois qu on recoit ce message jusque 200 puis redscend a 0 ou bien des reponses evaluant d une autre maniere... enfin ce qu il veut... d ou une entree de code par l utilisateur pour chaque regex du code dccomment y repondre et donc la necessite de compiler le code rentrer avant de debuter la simulation. qu en penses tu ?


Message édité par gunti le 13-05-2004 à 14:49:26
Reply

Marsh Posté le 13-05-2004 à 15:52:30    

Si j'ai bien compris, via tes regex tu identifies le type de message.
Reste la réponse. Là je décroche. Ca ressemble à quoi une réponse ?

Reply

Marsh Posté le 13-05-2004 à 16:28:30    

Voila pour les regex pour la reponse ensuite j appelle une fonction qui execute un bout de code et retourne ainsi une chaine de caracteres a repondre... C est le code que l utilisateur entre pour la regex en question qui doit definir cette chaine de caracteres. Le fait que ce soit du code fait qu on peut programmer une reponse si par exemple elle contient une valeur avec une certain courbe que suit la valeur ou autre... ainsi le code entre par l utilisateur doit etre execute quand une regex de ce type est trouve, or ce code n est pas defini par le proggrammeur mais par l utilisateur du .exe d ou la necessite de compiler pendant l execution du programme... si jamais quelqu un comprend mon charabia et qu il arrive a le dire en francais clair en trois phrases je lui en serai tres reconnaissant... Ainsi pour mon probleme c est donc resolvable en prenant VC++ 7.0 avec les sdk pour ttout ce qui est windows car c est de la prog windows mon programme... et une simple ligne de commande compilant le truc c a s execute comment dans un prog ?
Merci a bientot

Reply

Marsh Posté le 13-05-2004 à 20:29:34    

Dsl. J'aurais essayé.

Reply

Marsh Posté le 13-05-2004 à 20:29:34   

Reply

Marsh Posté le 13-05-2004 à 20:53:15    

le langage de script c bien aussi :o
LUA ou Python est zou

Reply

Marsh Posté le 13-05-2004 à 20:53:31    

ah et on dit resoluble pas resolvable

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed