Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un programme qui en créé un autre

comment faire ?

    11 avril 2006 à 16:56:14

    Citation : -ed-

    La plupart des compilateurs et linkers sont écrits en C. C'est compliqué.

    Si tu arrives à trouver le 'Dragon Book (AHO - ADDISON WESLEY)', tu vas comprendre ta douleur...



    Ouais c'est quoi?
    • Partager sur Facebook
    • Partager sur Twitter
      11 avril 2006 à 17:00:37

      'Dragon Book (AHO - ADDISON WESLEY)'

      avec un nom comme ça, je parie sur la motocyclette à l'huile de colza.
      • Partager sur Facebook
      • Partager sur Twitter
        11 avril 2006 à 17:12:06

        Ouais lol ! :lol: Bon je crois que ce truc est pas de mon niveau.Mais esque tu veux bien m'envoyer une démo de ton programme de la mort stp? :D serieux il a l'air pas mal!
        • Partager sur Facebook
        • Partager sur Twitter
          11 avril 2006 à 17:58:02

          Citation : darkdidi

          Mais esque tu veux bien m'envoyer une démo de ton programme de la mort stp?


          Tu parles de quoi ? A qui ? Merci d'utiliser 'citation' Image utilisateur
          • Partager sur Facebook
          • Partager sur Twitter
          Music only !
            11 avril 2006 à 18:07:23

            Je parlais à bluestorm pour son programme de code binaire et companie.Je n'ai pas réussi a le faire fonctionner alors je lui demande s'il veux bien m'envoyer une démo de ce qu'il a fait. :)
            • Partager sur Facebook
            • Partager sur Twitter
              11 avril 2006 à 18:52:35

              Ben euh, je t'ai filé toutes les sources et tout, je peux pas faire grand chose de plus : vu que je suis pas sous windows je peux pas t'envoyer d'executables tous faits, et tu ne saurais pas utiliser mes méthodes de compilation, donc...
              • Partager sur Facebook
              • Partager sur Twitter
                11 avril 2006 à 19:05:26

                Ce que je trouve génial c'est un compilateur C écrit en C ^^ C'est le même principe que la poule et l'oeuf la programmation dites donc... D'où la question : Les compilateurs écrits en C ont bien du être compilés, avec un autre compilateur, il faut donc un compilateur original pour compiler le compilateur qui servira à compiler un compilateur pour compiler notre programme...

                Enfin... Bref... ^^
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  11 avril 2006 à 19:13:38

                  peut etre y'a une facon de faire qui soit un peu moins compliquée. Ton programme doit faire quoi au final. Pas simplement dire "bonjour" je pense ?

                  Par exemple pour l'exemple du bonjour tu peux faire d'une autre facon.
                  Ton prog il regarde si y'a un fichier "nom"
                  -si y'a pas il demande ton nom et il l'écrit dans un fichier "nom"
                  -si y'a un fichier qui s'appelle "nom", il dit "bonjour" avec le nom qui est écrit dans le fichier.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 avril 2006 à 19:31:36

                    Oui si je pouvais faire ca se serait déjà très bien :D mais c'a a l'air difficil.Ce que je voudrais faire en fait c'est un programme qui prend en compte un certain nombre d'option de la part de l'utilisateur puis en fait un executable.Je sais c'est très baleze c'est pour ca que j'ai commencé par le programme-qui-dit-bonjour !
                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 avril 2006 à 19:54:41

                      Citation : Ze Killer-Whale

                      Ce que je trouve génial c'est un compilateur C écrit en C <...>


                      Et oui, c'est historique. Le premier compilateur C a été écrit en assembleur... Le premier assembleur... en langage machine...

                      Actuellement, un compilateur de version N doit être au moins compilable par la version N-1 du même compilateur. (Ben oui, logique...)

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Music only !
                      Anonyme
                        11 avril 2006 à 19:57:35

                        Citation : darkdidi

                        Oui si je pouvais faire ca se serait déjà très bien :D mais c'a a l'air difficil.Ce que je voudrais faire en fait c'est un programme qui prend en compte un certain nombre d'option de la part de l'utilisateur puis en fait un executable.Je sais c'est très baleze c'est pour ca que j'ai commencé par le programme-qui-dit-bonjour !



                        On peut très bien faier ca en rajoutant plusieurs options dans un fichier "configuration"
                        si y'a pas de ficheir le programme le créé et demande a l'utilisateur les options
                        et sinon il se lance normalement.

                        Dis moi ce que tu veux faire avec ton prog, au final :)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 avril 2006 à 20:23:53

                          Pour le fichier de configuration c'est comme le dico dans le TP de Mateo21, c'est la même chose.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            11 avril 2006 à 20:57:07

                            Je ne comprends pas.C'est quoi un fichier de configuration?Et quel rapport avec le dico de Mateo ? Excusez moi je dois être lourd...
                            • Partager sur Facebook
                            • Partager sur Twitter
                              11 avril 2006 à 21:04:11

                              Citation : darkdidi

                              Je ne comprends pas.C'est quoi un fichier de configuration?


                              Un fichier de donnée qui permet d'influencer le comportement du programme. Je te l'ai déjà expliqué. Il faut lire les réponses...

                              Citation : -ed-

                              Dans la pratique, on ecrit un programme générique qui est éventuellement capable d'adapter son comportement par fichier de configuration. En utilisation, on ne touche jamais à une seule ligne de code. On joue sur les données des fichiers de config.



                              Citation : Benzawal

                              N'est il pas plus simple de créer un simple executable avec un fichier de configuration? Au premier lancement du programme (lorsque le fichier de configuration n'existe pas), tu poses une série de questions à l'utilisateur que tu enregistres dans un fichier. Une fois les informations completées, tu rentres réelement dans ton programme avec éventuellement un menu et la possibilité de modifier le fichier de configuration.


                              etc.

                              Citation : darkdidi

                              Et quel rapport avec le dico de Mateo ?


                              Le dictionnaire du jeu de pendu. Le comportement du jeu dépendait du nombre de mots dans le dictionnaire...

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Music only !
                                11 avril 2006 à 21:07:11

                                Ok, j'ai compris.Il y a un type de fichier précis pour les fichiers de configuration?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  11 avril 2006 à 21:09:46

                                  Citation : darkdidi

                                  Ok, j'ai compris.Il y a un type de fichier précis pour les fichiers de configuration?


                                  Pas trop non. Une fichier texte suffit. A toi de le structurer comme il faut.. Il y a un format courant, c'est .ini : (comme win.ini de Windows)

                                  [<section>]
                                  <champ>=<valeur>
                                  <champ>=<valeur>
                                  <champ>=<valeur>
                                  [<section>]
                                  <champ>=<valeur>
                                  <champ>=<valeur>
                                  <champ>=<valeur>
                                  etc.

                                  sinon, XML est à la mode.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Music only !
                                    11 avril 2006 à 21:13:16

                                    ah oui je me souviens on voit souvent ca pour les programmes a plusieurs languages:on emploie des parametres de configuration pour les chînes de charactere! :D
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      11 avril 2006 à 21:34:25

                                      Citation : darkdidi

                                      ah oui je me souviens on voit souvent ca pour les programmes a plusieurs languages:on emploie des parametres de configuration pour les chînes de charactere! :D


                                      Ca y'est, il se réveille !
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Music only !
                                        11 avril 2006 à 21:57:34

                                        Citation : -ed-

                                        Citation : darkdidi

                                        ah oui je me souviens on voit souvent ca pour les programmes a plusieurs languages:on emploie des parametres de configuration pour les chînes de charactere!

                                        Ca y'est, il se réveille !


                                        Oui :lol:
                                        Mais je ne vois pas à quoi ca pourrait me servir puisque je ne veux pas faire un programme multilangue! o_O
                                        Non te suiscide pas c'était pour rire! :lol:
                                        Bon ok.Mais on retombe toujours sur cette histoire de compilateur!
                                        Alors je vais dire un truc dingue:si le programme en lui même était une sorte de compilateur?
                                        ...
                                        :euh:
                                        ...
                                        nan je vais aller me coucher.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          11 avril 2006 à 22:11:32

                                          Je crois que tu devrais vraiment aller te coucher là.
                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          If you'd like to join us, read "How do we work at OpenClassrooms"! :)

                                            11 avril 2006 à 22:23:47

                                            non franchement c'est pas une bonne idée? ^^
                                            Bon bah t'a qu'a le dire si t'as une meilleur idée! :p
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Anonyme
                                              11 avril 2006 à 22:27:02

                                              Citation : darkdidi

                                              non franchement c'est pas une bonne idée? ^^
                                              Bon bah t'a qu'a le dire si t'as une meilleur idée! :p



                                              En quoi se distinguerait les différentes possiblités de configurations? Un truc un peu comme le profil d'un membre du sdz?
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Anonyme
                                                11 avril 2006 à 22:50:18

                                                Citation : darkdidi

                                                c'est quoi le sdz ? :D



                                                site du zéro?


                                                Je donnais ça à titre d'exemple. J voulais dire par là, le profil d'un membre d'un site/forum ou autre. Esseye de mieux expliquer ce dont tu as besoin pour qu'on puisse te proposer la solution la plus adaptée à ton problème..
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  11 avril 2006 à 23:04:02

                                                  OK alors voila l'histoire:
                                                  On a un code source qui fait une boite de dialogue:celui-ci:
                                                  #include <windows.h>

                                                  int  main( HANDLE hInstance, HANDLE hPrevInst,
                                                             LPSTR lpCmdLine, int nCmdShow )
                                                  {
                                                      MessageBox( NULL, "W","X", MB_Y | MB_Z );
                                                      return( 0 );
                                                  }


                                                  L'utilisateur va entrer des données dans le programme via une application(logique o_O ).
                                                  Le texte de la boite correspond à la lettre W, son nom à la lettre X , et Y et Z prennent les autres parametres(type de la boite, réponse)
                                                  Et après le programme nous créé une jolie boite de dialogue correspondant aux option de l'utilisateur! :D
                                                  Voila.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Anonyme
                                                    11 avril 2006 à 23:12:04

                                                    Bien alors ce que je peu te proposer, c'est lorsque l'utilisateur lance ton programme, tu lui demandes son nom. Soit l'utilisateur est déjà connu de ta base de donnée (ton fichier), dans ce cas la tu ne lui pose plus de question. Soit il ne l'est pas et là tu lui pose d'autre question du style 'quel titre voulez vous pour la message box', 'quel message voulez vous affichez?'. Et tu enregistres ces informations dans ton fichier. Je pense que le plus adapté est comme l'a dit -ed- un fichier xml. Ou alors un fichier binaire structure. Un exemple (simple) de structuré pourrait être:


                                                    typedef struct{
                                                        char nom[30];
                                                        char titre_msgbox[100];
                                                        char msg_msgbox[100];
                                                    }info_t;
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      11 avril 2006 à 23:53:59

                                                      Citation : darkdidi

                                                      OK alors voila l'histoire:
                                                      On a un code source qui fait une boite de dialogue:celui-ci:

                                                      #include <windows.h>

                                                      int  main( HANDLE hInstance, HANDLE hPrevInst,
                                                                 LPSTR lpCmdLine, int nCmdShow )
                                                      {
                                                          MessageBox( NULL, "W","X", MB_Y | MB_Z );
                                                          return( 0 );
                                                      }



                                                      L'utilisateur va entrer des données dans le programme via une application(logique o_O ).
                                                      Le texte de la boite correspond à la lettre W, son nom à la lettre X , et Y et Z prennent les autres parametres(type de la boite, réponse)
                                                      Et après le programme nous créé une jolie boite de dialogue correspondant aux option de l'utilisateur! :D


                                                      Et tu veux recompiler pour ça ? Tu es tombé sur la tête ?

                                                      Il n'y a aucun problèmes à créer les objets graphiques dynamiquement. Il n'y a rien à recompiler. Le code est là, dans les bibliothèques, pret à être appelé par de multiples instances du même objet.

                                                      Je crois que tu te fais une fausse idée de ce qu'est la programmation. Frotte toi un peu plus à la réalité. Tu verras que quasiment tout est dynamique et que le seul travail à faire est d'appeler la bonne fonction au bon moment avec les bons paramètres et surtout de libérer les ressources quand on en a plus besoin (sinon, c'est l'asphyxie assurée).

                                                      Même les tâches (threads, processus) peuvent être crées dynamiquement. Tu penses sincèrement qu'un serveur web qui reçoit 2000 connexions en même temps se recompile à la volée pour augmenter son nombre de connexions ?

                                                      Ce qui est compilé, c'est le code de base et l'application de base. Mais elle est généralement non seulement configurable, mais auto-adaptative.

                                                      Un exemple simple réel et opérationnel. J'ai crée un objet 'chaine souple' que j'appelle FSTR (Flexible String) qui permet de créer une chaine de caractères de longueur arbitraire et non prévue à l'avance. Avec cet objet, j'ai pu créer une fonction de lecture de ligne de texte de longueur arbitraire. C'est ça la réalité. C'est pas de recompiler son code parce que la ligne fait 125 caractères au lieu de 80...

                                                      http://mapage.noos.fr/emdel/clib.htm
                                                      Module FSTR
                                                      Module IO
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Music only !
                                                      Anonyme
                                                        12 avril 2006 à 9:42:50

                                                        Un programme qui en crée un autre, c'est un peu le but de certains virus !!!
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          12 avril 2006 à 12:30:15

                                                          Citation : -ed--

                                                          Et tu veux recompiler pour ça ? Tu es tombé sur la tête ?

                                                          Il n'y a aucun problèmes à créer les objets graphiques dynamiquement. Il n'y a rien à recompiler. Le code est là, dans les bibliothèques, pret à être appelé par de multiples instances du même objet.

                                                          Je crois que tu te fais une fausse idée de ce qu'est la programmation. Frotte toi un peu plus à la réalité. Tu verras que quasiment tout est dynamique et que le seul travail à faire est d'appeler la bonne fonction au bon moment avec les bons paramètres et surtout de libérer les ressources quand on en a plus besoin (sinon, c'est l'asphyxie assurée).

                                                          Même les tâches (threads, processus) peuvent être crées dynamiquement. Tu penses sincèrement qu'un serveur web qui reçoit 2000 connexions en même temps se recompile à la volée pour augmenter son nombre de connexions ?

                                                          Ce qui est compilé, c'est le code de base et l'application de base. Mais elle est généralement non seulement configurable, mais auto-adaptative.

                                                          Un exemple simple réel et opérationnel. J'ai crée un objet 'chaine souple' que j'appelle FSTR (Flexible String) qui permet de créer une chaine de caractères de longueur arbitraire et non prévue à l'avance. Avec cet objet, j'ai pu créer une fonction de lecture de ligne de texte de longueur arbitraire. C'est ça la réalité. C'est pas de recompiler son code parce que la ligne fait 125 caractères au lieu de 80...


                                                          Mon but, moi, c'est de créer une application avec les données enregistrées.Ce n'est pas en applant une fonction que ca fonctionnera.Je vois ce que yu veux dire, mais je ne pense pas que ca convienne.Je pense pourtant avoir été clair:il s'agit d'une application qui en créé une autre.Appeler une fonction ne suffit pas, m^me si c'est beaucoup plus envisageable.

                                                          Citation : acieroid

                                                          Un programme qui en crée un autre, c'est un peu le but de certains virus !!!


                                                          Je te rassure, de ce coté la j'ai pas de mauvaises intentions! :lol:
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            12 avril 2006 à 12:30:15

                                                            Citation : -ed--

                                                            Et tu veux recompiler pour ça ? Tu es tombé sur la tête ?

                                                            Il n'y a aucun problèmes à créer les objets graphiques dynamiquement. Il n'y a rien à recompiler. Le code est là, dans les bibliothèques, pret à être appelé par de multiples instances du même objet.

                                                            Je crois que tu te fais une fausse idée de ce qu'est la programmation. Frotte toi un peu plus à la réalité. Tu verras que quasiment tout est dynamique et que le seul travail à faire est d'appeler la bonne fonction au bon moment avec les bons paramètres et surtout de libérer les ressources quand on en a plus besoin (sinon, c'est l'asphyxie assurée).

                                                            Même les tâches (threads, processus) peuvent être crées dynamiquement. Tu penses sincèrement qu'un serveur web qui reçoit 2000 connexions en même temps se recompile à la volée pour augmenter son nombre de connexions ?

                                                            Ce qui est compilé, c'est le code de base et l'application de base. Mais elle est généralement non seulement configurable, mais auto-adaptative.

                                                            Un exemple simple réel et opérationnel. J'ai crée un objet 'chaine souple' que j'appelle FSTR (Flexible String) qui permet de créer une chaine de caractères de longueur arbitraire et non prévue à l'avance. Avec cet objet, j'ai pu créer une fonction de lecture de ligne de texte de longueur arbitraire. C'est ça la réalité. C'est pas de recompiler son code parce que la ligne fait 125 caractères au lieu de 80...


                                                            Mon but, moi, c'est de créer une application avec les données enregistrées.Ce n'est pas en applant une fonction que ca fonctionnera.Je vois ce que yu veux dire, mais je ne pense pas que ca convienne.Je pense pourtant avoir été clair:il s'agit d'une application qui en créé une autre.Appeler une fonction ne suffit pas, m^me si c'est beaucoup plus envisageable.

                                                            Citation : acieroid

                                                            Un programme qui en crée un autre, c'est un peu le but de certains virus !!!


                                                            Je te rassure, de ce coté la j'ai pas de mauvaises intentions! :lol:
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            Un programme qui en créé un autre

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                            • Editeur
                                                            • Markdown