Zechiron Posté(e) le 21 avril 2008 Partager Posté(e) le 21 avril 2008 Bonjour à tous, J'ai, dans le cadre de mon boulot à réaliser un petit "bizutage". Je dois réaliser un programme C# qui lors de son exécution affiche son code source. J'ai comme indice un code C/C++. Cependant, n'ayant jamais fait de C, j'aurais besoin de votre aide pour comprendre ce petit bout de code. char *s="main() { char *s=%c%s%c; printf(s,34,s,34); }"; printf(s,34,s,34); return 0; Je vous remercie d'avance :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 21 avril 2008 Partager Posté(e) le 21 avril 2008 Et pourquoi ne pas ouvrir le fichier de sources et afficher ligne par ligne ce qu'il contient ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 21 avril 2008 Partager Posté(e) le 21 avril 2008 Le petit bout de code, c'est déjà le programme qui se régénère tout seul. C'est assez connu. On l'appelait phoenix à l'école. Allez savoir pourquoi. EDIT : effectivement, comme dit lorinc, on peut faire un open sur le fichier source, mais ce n'est pas ce qui est recherché. Ça respecte peut être l'énoncé (à voir), mais pas l'esprit du sujet. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Zechiron Posté(e) le 21 avril 2008 Auteur Partager Posté(e) le 21 avril 2008 La lecture du fichier est interdite bien évidemment ... Et même si elle ne l'était pas, je le ferais pas .... Mais personne peut me donner un indice sur ce que ce code veut dire ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 22 avril 2008 Partager Posté(e) le 22 avril 2008 Je pense que ce qui correspond le plus a ce que tu cherche, ca serait du coté du namespace Reflections en .net Ca permet d'obtenir des informations sur le langage/les fonctions utilisées. D'apres moi, c la qu'il faut regarder :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 23 avril 2008 Partager Posté(e) le 23 avril 2008 Ce code a pour fonction de produire un code identique à lui même. D'où l'intérêt du main dans la chaine de caractères. 16ar, je ne suis pas sûr que tu ais compris le problème >< Lien vers le commentaire Partager sur d’autres sites More sharing options...
funeral Posté(e) le 7 mai 2008 Partager Posté(e) le 7 mai 2008 Je pense que je réponds un peu tard (le bizutage dure rarement plus de deux semaines ;-)). A un moment donné je m'amusais bien avec ça, ça n'a rien de très compliqué, c'est même assez simple ; on appelle cela "Quine", Wikipedia y consacre d'ailleurs un article : http://fr.wikipedia.org/wiki/Quine_(informatique)#C.23 (d'ailleurs, en lien, le code pour C# ). Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.