Compiler... Avec un programme compilé???

Résolu
Clonk Messages postés 278 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 29 août 2006 - 30 juil. 2004 à 16:36
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 31 juil. 2004 à 10:40
Bonjour,
voilà, c'est uen question un peu bizarre, mais je voudrais savoir s'il est possible de compiler mes fichiers en c++ (.h, .cpp) grâce à un autre programme en C++ (je précise, sous windows et sous VC++ 6.0).
J'explique le concept (qu'on croie pas que je veuilles faire mon compilo non plus):
Je fais de la programmation par contrainte (cherchez le concept si vous conaissez pas, trop compliqué à expliquer, et puis jsuis claqué là :big) ) avant, je développais ça en Lisp, interprété, C cool, on met un peu les fonctions qu'on veut, C extensible à souhait... mais en C++, C autre chose, comme C du compilé, une fois les fonctions posées, clac! on peut plus en rajouter (sauf en réouvrant le source).
Mon idée serait de pouvoir éditer certains fichiers comprenant les fonctions et règles utilisables pour mon moteur d'inférence, que les utilisateurs puissent ajouter, modifier ou supprimer des règles sans avoir à toucher à mon moteur.
J'espère que C clair...

4 réponses

MetalDwarf Messages postés 241 Date d'inscription mardi 29 octobre 2002 Statut Membre Dernière intervention 23 janvier 2006
30 juil. 2004 à 16:58
La reponse est non, du moins pas a ma connaissance. Mais il existe quand meme plusieurs solutions a ton probleme (heureusement!!).
La premiere (courage!!) c est de creer ton propre "langage" interprete qui serait dans tes fichiers et de te servir de ce qui est dans les fichiers. C est complique, long, penible... Par contre si ton probleme ne concerne que quelques valeurs a modifier je crois que c est la solution.
Mais ce qui me semble plus adapte a ton cas est l embarquement d un interpreteur dans ton programme (c est possible avec Perl et Python au moins, et Pike je ne sais pas tres bien), et ensuite il est possible de faire communiquer le code interprete et le code compile (du moins en Python, une serie d article parus dans Linux Magazine montrait comment faire).
Sinon il y a encore une troisieme solution c est l inverse : tu ecris des modules en C++ pour Python ou pour Perl, et ton programme importe ces modules et les utilise. A partir de la tu garde quand meme les performances du C++, et les avantages de l interprete. Cette technique est egalement possible a mettre en oeuvre avec Perl et Python au moins.

Voila j espere avoir repondu a ta question
3
Clonk Messages postés 278 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 29 août 2006
30 juil. 2004 à 17:30
Ok, CT juste pour vérifier merci!
En fait, G déjà fais mon moteur d'inférence en C++, hereusement, la demande était limitée au niveau des règle (supérieur, inférieur, vide, égal) donc ça se code facilement.
Mais comme tout geek qui se respecte, j'ai extrapolé dans ma tete, me montant toute une architecture de ouf malade :big)
Bon, si effectivement on peut pas compiler en C++, bah soit je V me remettre au Lisp (je dois être quasiment le seul fan de Lisp au monde) et me mettre au CamL (ça m'avait l'air bein sympa)
Bref, je raconte ma vie, mais ça intéresse personne!

Merci pour l'info, même si CT pas ce que j'attendais ;)
++
0
MetalDwarf Messages postés 241 Date d'inscription mardi 29 octobre 2002 Statut Membre Dernière intervention 23 janvier 2006
30 juil. 2004 à 17:37
Tu es peut etre le seul fan de Lisp au monde, mais c est peut etre parce que personne ne connait!! Je sais vaguement que c est un langage fonctionnel, que theoriquement c est tres joli mais c est tout a propos de Lisp (et je me dis que ca doit etre galere parce que les langages fonctionnels c est quand meme un peu chiant).
Pour ce qui est de faire ton moteur d inference en Caml, ca ne resoudra pas tes problemes. En effet le Caml n est pas un langage interprete, meme si il a deux modes d execution : Compile (comme du C++), et semi-interprete au travers d une machine virtuelle (un peu comme Java). Par contre c est vrai que c est un beau langage, fonctionnel mais quand meme pas trop chiant.
En plus il est possible d utiliser pas mal de choses qui n existe pas en C++ et qui facilitent bien la vie, et puis il supporte la programmation orientee objet et aussi le style imperatif (comme le C, contrairement au style fonctionnel).
En tout cas je ne peux que t encourager a regarder ce que c est. Je ne l utilise que pour le travail (c est le langage au programme en prepa MP*), mais je trouve ca bien quand meme.
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
31 juil. 2004 à 10:40
et les bibliotheques dynamiques ?
0
Rejoignez-nous