Posted April 21, 200817 yr 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 :)
April 21, 200817 yr Et pourquoi ne pas ouvrir le fichier de sources et afficher ligne par ligne ce qu'il contient ?
April 21, 200817 yr 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.
April 21, 200817 yr Author 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 ?
April 22, 200817 yr 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 :)
April 23, 200817 yr 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 ><
May 7, 200817 yr 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# ).
Archived
This topic is now archived and is closed to further replies.