[débutant] 1er programme, j'aimerais vos commentaires.
91 réponses
Beware
Bonjour,
D=E9butant dans l'apprentissage du langage C, j'ai cr=E9e un petit
programme, un jeu du pendu. Le jeu =E0 l'air de fonctionner. Je dis
"l'air de", car il est probable qu'il reste des bugs que je dois
corriger.
Cependant ce n'est pas l'objet de ma question. En effet, dans un souci
de m'am=E9liorer je d=E9sirerais avoir les commentaires de personnes
connaissant et maitrisant mieux le langage C que moi.
Les fichiers du programme (main.c, pendu.h et dico.txt) sont
disponible ici :
http://beware007.free.fr/Projet_C/Pendu/
Merci d'avance pour votre aide, vos commentaire et critiques.
Beware wrote: > - chaque fichier n'inclut que le "pendu.h". Tous les #include >nécessaire au programmes y sont inclus (est-ce une bonne chose?).
Non, c'est une tres mauvaise idee. Ca passe tres mal a grande echelle. Vu que le C a un seul espace de nom, et des macros, sur un gros programme , tu vas toujours avoir des collisions a la con sur certains systemes (parc e que certains systemes ne sont pas tres "propres" cote entetes, souvent), et parfois tu vas avoir des problemes d'ordre d'inclusion (seuls les entetes C ISO sont garantis a peu pres corrects de ce point de vue).
Meme si c'est un peu gonflant, c'est toujours une bonne idee de mettre tes entetes le plus a plat possible: c'est un peu chiant pour l'ecriture initiale, mais ca te gagne un temps fou des que tu tombes sur un petit probleme de collision de macros/d'ordre d'inclusion... sans compter que ca te permet de n'inclure que ce que tu utilises dans un fichier C donne, et a terme, de "voir" un peu mieux quelles sont les dependances au sein de ton programme...
Bonjour, D'accord c'est noté et changé. J'ai également rajouté un "rapide" makefile. J'entends par rapide, une version simple.
On 18 mar, 23:55, es...@lain.home (Marc Espie) wrote:
In article <264a3a78-43c7-4c52-91e0-84da26701...@o11g2000yql.googlegroups .com>,
Beware <mathieu.hed...@gmail.com> wrote:
> - chaque fichier n'inclut que le "pendu.h". Tous les #include
>nécessaire au programmes y sont inclus (est-ce une bonne chose?).
Non, c'est une tres mauvaise idee. Ca passe tres mal a grande echelle.
Vu que le C a un seul espace de nom, et des macros, sur un gros programme ,
tu vas toujours avoir des collisions a la con sur certains systemes (parc e
que certains systemes ne sont pas tres "propres" cote entetes, souvent), et
parfois tu vas avoir des problemes d'ordre d'inclusion (seuls les entetes
C ISO sont garantis a peu pres corrects de ce point de vue).
Meme si c'est un peu gonflant, c'est toujours une bonne idee de mettre
tes entetes le plus a plat possible: c'est un peu chiant pour l'ecriture
initiale, mais ca te gagne un temps fou des que tu tombes sur un petit
probleme de collision de macros/d'ordre d'inclusion... sans compter que
ca te permet de n'inclure que ce que tu utilises dans un fichier C donne,
et a terme, de "voir" un peu mieux quelles sont les dependances au sein
de ton programme...
Bonjour,
D'accord c'est noté et changé.
J'ai également rajouté un "rapide" makefile. J'entends par rapide, une
version simple.
Beware wrote: > - chaque fichier n'inclut que le "pendu.h". Tous les #include >nécessaire au programmes y sont inclus (est-ce une bonne chose?).
Non, c'est une tres mauvaise idee. Ca passe tres mal a grande echelle. Vu que le C a un seul espace de nom, et des macros, sur un gros programme , tu vas toujours avoir des collisions a la con sur certains systemes (parc e que certains systemes ne sont pas tres "propres" cote entetes, souvent), et parfois tu vas avoir des problemes d'ordre d'inclusion (seuls les entetes C ISO sont garantis a peu pres corrects de ce point de vue).
Meme si c'est un peu gonflant, c'est toujours une bonne idee de mettre tes entetes le plus a plat possible: c'est un peu chiant pour l'ecriture initiale, mais ca te gagne un temps fou des que tu tombes sur un petit probleme de collision de macros/d'ordre d'inclusion... sans compter que ca te permet de n'inclure que ce que tu utilises dans un fichier C donne, et a terme, de "voir" un peu mieux quelles sont les dependances au sein de ton programme...
Bonjour, D'accord c'est noté et changé. J'ai également rajouté un "rapide" makefile. J'entends par rapide, une version simple.
Beware
On 18 mar, 23:55, (Marc Espie) wrote:
In article .com>,
Beware wrote: > - chaque fichier n'inclut que le "pendu.h". Tous les #include >nécessaire au programmes y sont inclus (est-ce une bonne chose?).
Non, c'est une tres mauvaise idee. Ca passe tres mal a grande echelle. Vu que le C a un seul espace de nom, et des macros, sur un gros programme , tu vas toujours avoir des collisions a la con sur certains systemes (parc e que certains systemes ne sont pas tres "propres" cote entetes, souvent), et parfois tu vas avoir des problemes d'ordre d'inclusion (seuls les entetes C ISO sont garantis a peu pres corrects de ce point de vue).
Meme si c'est un peu gonflant, c'est toujours une bonne idee de mettre tes entetes le plus a plat possible: c'est un peu chiant pour l'ecriture initiale, mais ca te gagne un temps fou des que tu tombes sur un petit probleme de collision de macros/d'ordre d'inclusion... sans compter que ca te permet de n'inclure que ce que tu utilises dans un fichier C donne, et a terme, de "voir" un peu mieux quelles sont les dependances au sein de ton programme...
Bonjour, D'accord c'est noté et changé. J'ai également rajouté un "rapide" makefile. J'entends par rapide, une version simple.
On 18 mar, 23:55, es...@lain.home (Marc Espie) wrote:
In article <264a3a78-43c7-4c52-91e0-84da26701...@o11g2000yql.googlegroups .com>,
Beware <mathieu.hed...@gmail.com> wrote:
> - chaque fichier n'inclut que le "pendu.h". Tous les #include
>nécessaire au programmes y sont inclus (est-ce une bonne chose?).
Non, c'est une tres mauvaise idee. Ca passe tres mal a grande echelle.
Vu que le C a un seul espace de nom, et des macros, sur un gros programme ,
tu vas toujours avoir des collisions a la con sur certains systemes (parc e
que certains systemes ne sont pas tres "propres" cote entetes, souvent), et
parfois tu vas avoir des problemes d'ordre d'inclusion (seuls les entetes
C ISO sont garantis a peu pres corrects de ce point de vue).
Meme si c'est un peu gonflant, c'est toujours une bonne idee de mettre
tes entetes le plus a plat possible: c'est un peu chiant pour l'ecriture
initiale, mais ca te gagne un temps fou des que tu tombes sur un petit
probleme de collision de macros/d'ordre d'inclusion... sans compter que
ca te permet de n'inclure que ce que tu utilises dans un fichier C donne,
et a terme, de "voir" un peu mieux quelles sont les dependances au sein
de ton programme...
Bonjour,
D'accord c'est noté et changé.
J'ai également rajouté un "rapide" makefile. J'entends par rapide, une
version simple.
Beware wrote: > - chaque fichier n'inclut que le "pendu.h". Tous les #include >nécessaire au programmes y sont inclus (est-ce une bonne chose?).
Non, c'est une tres mauvaise idee. Ca passe tres mal a grande echelle. Vu que le C a un seul espace de nom, et des macros, sur un gros programme , tu vas toujours avoir des collisions a la con sur certains systemes (parc e que certains systemes ne sont pas tres "propres" cote entetes, souvent), et parfois tu vas avoir des problemes d'ordre d'inclusion (seuls les entetes C ISO sont garantis a peu pres corrects de ce point de vue).
Meme si c'est un peu gonflant, c'est toujours une bonne idee de mettre tes entetes le plus a plat possible: c'est un peu chiant pour l'ecriture initiale, mais ca te gagne un temps fou des que tu tombes sur un petit probleme de collision de macros/d'ordre d'inclusion... sans compter que ca te permet de n'inclure que ce que tu utilises dans un fichier C donne, et a terme, de "voir" un peu mieux quelles sont les dependances au sein de ton programme...
Bonjour, D'accord c'est noté et changé. J'ai également rajouté un "rapide" makefile. J'entends par rapide, une version simple.
Beware
On 18 mar, 23:55, (Marc Espie) wrote:
In article .com>,
Beware wrote: > - chaque fichier n'inclut que le "pendu.h". Tous les #include >nécessaire au programmes y sont inclus (est-ce une bonne chose?).
Non, c'est une tres mauvaise idee. Ca passe tres mal a grande echelle. Vu que le C a un seul espace de nom, et des macros, sur un gros programme , tu vas toujours avoir des collisions a la con sur certains systemes (parc e que certains systemes ne sont pas tres "propres" cote entetes, souvent), et parfois tu vas avoir des problemes d'ordre d'inclusion (seuls les entetes C ISO sont garantis a peu pres corrects de ce point de vue).
Meme si c'est un peu gonflant, c'est toujours une bonne idee de mettre tes entetes le plus a plat possible: c'est un peu chiant pour l'ecriture initiale, mais ca te gagne un temps fou des que tu tombes sur un petit probleme de collision de macros/d'ordre d'inclusion... sans compter que ca te permet de n'inclure que ce que tu utilises dans un fichier C donne, et a terme, de "voir" un peu mieux quelles sont les dependances au sein de ton programme...
Bonjour, D'accord c'est noté et changé. J'ai également rajouté un "rapide" makefile. J'entends par rapide, une version simple.
On 18 mar, 23:55, es...@lain.home (Marc Espie) wrote:
In article <264a3a78-43c7-4c52-91e0-84da26701...@o11g2000yql.googlegroups .com>,
Beware <mathieu.hed...@gmail.com> wrote:
> - chaque fichier n'inclut que le "pendu.h". Tous les #include
>nécessaire au programmes y sont inclus (est-ce une bonne chose?).
Non, c'est une tres mauvaise idee. Ca passe tres mal a grande echelle.
Vu que le C a un seul espace de nom, et des macros, sur un gros programme ,
tu vas toujours avoir des collisions a la con sur certains systemes (parc e
que certains systemes ne sont pas tres "propres" cote entetes, souvent), et
parfois tu vas avoir des problemes d'ordre d'inclusion (seuls les entetes
C ISO sont garantis a peu pres corrects de ce point de vue).
Meme si c'est un peu gonflant, c'est toujours une bonne idee de mettre
tes entetes le plus a plat possible: c'est un peu chiant pour l'ecriture
initiale, mais ca te gagne un temps fou des que tu tombes sur un petit
probleme de collision de macros/d'ordre d'inclusion... sans compter que
ca te permet de n'inclure que ce que tu utilises dans un fichier C donne,
et a terme, de "voir" un peu mieux quelles sont les dependances au sein
de ton programme...
Bonjour,
D'accord c'est noté et changé.
J'ai également rajouté un "rapide" makefile. J'entends par rapide, une
version simple.
Beware wrote: > - chaque fichier n'inclut que le "pendu.h". Tous les #include >nécessaire au programmes y sont inclus (est-ce une bonne chose?).
Non, c'est une tres mauvaise idee. Ca passe tres mal a grande echelle. Vu que le C a un seul espace de nom, et des macros, sur un gros programme , tu vas toujours avoir des collisions a la con sur certains systemes (parc e que certains systemes ne sont pas tres "propres" cote entetes, souvent), et parfois tu vas avoir des problemes d'ordre d'inclusion (seuls les entetes C ISO sont garantis a peu pres corrects de ce point de vue).
Meme si c'est un peu gonflant, c'est toujours une bonne idee de mettre tes entetes le plus a plat possible: c'est un peu chiant pour l'ecriture initiale, mais ca te gagne un temps fou des que tu tombes sur un petit probleme de collision de macros/d'ordre d'inclusion... sans compter que ca te permet de n'inclure que ce que tu utilises dans un fichier C donne, et a terme, de "voir" un peu mieux quelles sont les dependances au sein de ton programme...
Bonjour, D'accord c'est noté et changé. J'ai également rajouté un "rapide" makefile. J'entends par rapide, une version simple.
Rien de bien important dans les changements, je me suis simplement amusé a affiche un "pendu" au cours du jeu quand le joueur fait une erreur.
YBM
Beware a écrit :
Bonjour,
Rien de bien important dans les changements, je me suis simplement amusé a affiche un "pendu" au cours du jeu quand le joueur fait une erreur.
Une remarque - hors sujet - mais importante pour toi : Free fait régulièrement le ménage sur les sites hébergés jugés non conforme. Or le tiens ne l'est pas selon leurs critères : il n'y a que des répertoires accessibles par des index. Tu risque fort de voir ton espace perso fermé un de ces jours.
Mets juste dans chaque répertoire une page html décrivant ce qu'il y a dedans avec les liens idoines, et relie les bien entre elles par des liens.
Beware a écrit :
Bonjour,
Rien de bien important dans les changements, je me suis simplement
amusé a affiche un "pendu" au cours du jeu quand le joueur fait une
erreur.
Une remarque - hors sujet - mais importante pour toi : Free fait
régulièrement le ménage sur les sites hébergés jugés non conforme.
Or le tiens ne l'est pas selon leurs critères : il n'y a que des
répertoires accessibles par des index. Tu risque fort de voir
ton espace perso fermé un de ces jours.
Mets juste dans chaque répertoire une page html décrivant ce qu'il
y a dedans avec les liens idoines, et relie les bien entre elles
par des liens.
Rien de bien important dans les changements, je me suis simplement amusé a affiche un "pendu" au cours du jeu quand le joueur fait une erreur.
Une remarque - hors sujet - mais importante pour toi : Free fait régulièrement le ménage sur les sites hébergés jugés non conforme. Or le tiens ne l'est pas selon leurs critères : il n'y a que des répertoires accessibles par des index. Tu risque fort de voir ton espace perso fermé un de ces jours.
Mets juste dans chaque répertoire une page html décrivant ce qu'il y a dedans avec les liens idoines, et relie les bien entre elles par des liens.
Le 19-03-2009, ? propos de Re: 1er programme, j'aimerais vos commentaires., YBM ?crivait dans fr.comp.lang.c :
Kojak a écrit :
Le Thu, 19 Mar 2009 18:26:50 +0100, YBM a écrit :
Une remarque - hors sujet - mais importante pour toi : Free fait régulièrement le ménage sur les sites hébergés jugés non conforme. Or le tiens ne l'est pas selon leurs critères : il n'y a que des répertoires accessibles par des index. Tu risque fort de voir ton espace perso fermé un de ces jours.
Tu es sérieux là ? Parce que honnêtement je ne vois pas ce que le site de l'OP peut avoir de répréhensible ! Si tu as vraiment raison, ben, ma foi, j'aurais bien des choses à dire, mais bon...
Bref, je suis vraiment très étonné !
C'est comme ça, c'est la politique de Free : un "vrai" site hébergé gratuitement doit être 1) public en majorité (pas de htpasswd partout ou à la racine), 2) constitué de pages HTML reliées entre elles et 3) ne pas servir au stockage de fichiers.
Et j'ajouterais que même avec ça, si tu génères trop de trafic, ton site sera malencontreusement fermé à la suite d'une fausse manip. J'ai un site d'association qui est passé comme ça à la trappe...
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Le 19-03-2009, ? propos de
Re: 1er programme, j'aimerais vos commentaires.,
YBM ?crivait dans fr.comp.lang.c :
Kojak a écrit :
Le Thu, 19 Mar 2009 18:26:50 +0100,
YBM a écrit :
Une remarque - hors sujet - mais importante pour toi : Free fait
régulièrement le ménage sur les sites hébergés jugés non conforme.
Or le tiens ne l'est pas selon leurs critères : il n'y a que des
répertoires accessibles par des index. Tu risque fort de voir
ton espace perso fermé un de ces jours.
Tu es sérieux là ? Parce que honnêtement je ne vois pas ce que
le site de l'OP peut avoir de répréhensible ! Si tu as vraiment
raison, ben, ma foi, j'aurais bien des choses à dire, mais bon...
Bref, je suis vraiment très étonné !
C'est comme ça, c'est la politique de Free : un "vrai" site
hébergé gratuitement doit être 1) public en majorité (pas
de htpasswd partout ou à la racine), 2) constitué de pages
HTML reliées entre elles et 3) ne pas servir au stockage
de fichiers.
Et j'ajouterais que même avec ça, si tu génères trop de trafic, ton
site sera malencontreusement fermé à la suite d'une fausse manip. J'ai
un site d'association qui est passé comme ça à la trappe...
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Le 19-03-2009, ? propos de Re: 1er programme, j'aimerais vos commentaires., YBM ?crivait dans fr.comp.lang.c :
Kojak a écrit :
Le Thu, 19 Mar 2009 18:26:50 +0100, YBM a écrit :
Une remarque - hors sujet - mais importante pour toi : Free fait régulièrement le ménage sur les sites hébergés jugés non conforme. Or le tiens ne l'est pas selon leurs critères : il n'y a que des répertoires accessibles par des index. Tu risque fort de voir ton espace perso fermé un de ces jours.
Tu es sérieux là ? Parce que honnêtement je ne vois pas ce que le site de l'OP peut avoir de répréhensible ! Si tu as vraiment raison, ben, ma foi, j'aurais bien des choses à dire, mais bon...
Bref, je suis vraiment très étonné !
C'est comme ça, c'est la politique de Free : un "vrai" site hébergé gratuitement doit être 1) public en majorité (pas de htpasswd partout ou à la racine), 2) constitué de pages HTML reliées entre elles et 3) ne pas servir au stockage de fichiers.
Et j'ajouterais que même avec ça, si tu génères trop de trafic, ton site sera malencontreusement fermé à la suite d'une fausse manip. J'ai un site d'association qui est passé comme ça à la trappe...
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
YBM
JKB a écrit :
Le 19-03-2009, ? propos de Re: 1er programme, j'aimerais vos commentaires., YBM ?crivait dans fr.comp.lang.c :
Kojak a écrit :
Le Thu, 19 Mar 2009 18:26:50 +0100, YBM a écrit :
Une remarque - hors sujet - mais importante pour toi : Free fait régulièrement le ménage sur les sites hébergés jugés non conforme. Or le tiens ne l'est pas selon leurs critères : il n'y a que des répertoires accessibles par des index. Tu risque fort de voir ton espace perso fermé un de ces jours.
Tu es sérieux là ? Parce que honnêtement je ne vois pas ce que le site de l'OP peut avoir de répréhensible ! Si tu as vraiment raison, ben, ma foi, j'aurais bien des choses à dire, mais bon...
Bref, je suis vraiment très étonné !
C'est comme ça, c'est la politique de Free : un "vrai" site hébergé gratuitement doit être 1) public en majorité (pas de htpasswd partout ou à la racine), 2) constitué de pages HTML reliées entre elles et 3) ne pas servir au stockage de fichiers.
Et j'ajouterais que même avec ça, si tu génères trop de trafic, ton site sera malencontreusement fermé à la suite d'une fausse manip. J'ai un site d'association qui est passé comme ça à la trappe...
Hmmm... Ça j'en doute. Il arrive aussi des fausse manip ou des crash de disques... Et comme il n'y a pas de sauvegardes côté Free pour les pages perso....
Ton site d'association il s'est trouvé vidé, pas blacklisté avec erreur 503 ?
JKB a écrit :
Le 19-03-2009, ? propos de
Re: 1er programme, j'aimerais vos commentaires.,
YBM ?crivait dans fr.comp.lang.c :
Kojak a écrit :
Le Thu, 19 Mar 2009 18:26:50 +0100,
YBM a écrit :
Une remarque - hors sujet - mais importante pour toi : Free fait
régulièrement le ménage sur les sites hébergés jugés non conforme.
Or le tiens ne l'est pas selon leurs critères : il n'y a que des
répertoires accessibles par des index. Tu risque fort de voir
ton espace perso fermé un de ces jours.
Tu es sérieux là ? Parce que honnêtement je ne vois pas ce que
le site de l'OP peut avoir de répréhensible ! Si tu as vraiment
raison, ben, ma foi, j'aurais bien des choses à dire, mais bon...
Bref, je suis vraiment très étonné !
C'est comme ça, c'est la politique de Free : un "vrai" site
hébergé gratuitement doit être 1) public en majorité (pas
de htpasswd partout ou à la racine), 2) constitué de pages
HTML reliées entre elles et 3) ne pas servir au stockage
de fichiers.
Et j'ajouterais que même avec ça, si tu génères trop de trafic, ton
site sera malencontreusement fermé à la suite d'une fausse manip. J'ai
un site d'association qui est passé comme ça à la trappe...
Hmmm... Ça j'en doute. Il arrive aussi des fausse manip ou des
crash de disques... Et comme il n'y a pas de sauvegardes côté
Free pour les pages perso....
Ton site d'association il s'est trouvé vidé, pas blacklisté
avec erreur 503 ?
Le 19-03-2009, ? propos de Re: 1er programme, j'aimerais vos commentaires., YBM ?crivait dans fr.comp.lang.c :
Kojak a écrit :
Le Thu, 19 Mar 2009 18:26:50 +0100, YBM a écrit :
Une remarque - hors sujet - mais importante pour toi : Free fait régulièrement le ménage sur les sites hébergés jugés non conforme. Or le tiens ne l'est pas selon leurs critères : il n'y a que des répertoires accessibles par des index. Tu risque fort de voir ton espace perso fermé un de ces jours.
Tu es sérieux là ? Parce que honnêtement je ne vois pas ce que le site de l'OP peut avoir de répréhensible ! Si tu as vraiment raison, ben, ma foi, j'aurais bien des choses à dire, mais bon...
Bref, je suis vraiment très étonné !
C'est comme ça, c'est la politique de Free : un "vrai" site hébergé gratuitement doit être 1) public en majorité (pas de htpasswd partout ou à la racine), 2) constitué de pages HTML reliées entre elles et 3) ne pas servir au stockage de fichiers.
Et j'ajouterais que même avec ça, si tu génères trop de trafic, ton site sera malencontreusement fermé à la suite d'une fausse manip. J'ai un site d'association qui est passé comme ça à la trappe...
Hmmm... Ça j'en doute. Il arrive aussi des fausse manip ou des crash de disques... Et comme il n'y a pas de sauvegardes côté Free pour les pages perso....
Ton site d'association il s'est trouvé vidé, pas blacklisté avec erreur 503 ?