luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 2008
-
11 avril 2006 à 18:13
cs_Xrispi
Messages postés1Date d'inscriptionvendredi 6 octobre 2006StatutMembreDernière intervention 6 octobre 2006
-
6 oct. 2006 à 02:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Xrispi
Messages postés1Date d'inscriptionvendredi 6 octobre 2006StatutMembreDernière intervention 6 octobre 2006 6 oct. 2006 à 02:36
Salut,
Une petite precision sur la "philosophie" des fichiers "foo.c" "foo.h" :
Dans le "foo.h", on met tout ce qui peut être utile aux autres modules qui veuleut utiliser ce qui est dans "foo.c", on va donc y retrouver par exemple :
- les declarations de types de donnees necessaires a l'utilisation de "foo.c"
- les variables globales de "foo.c" utilisables par les autres (ex: "extern FooData data;")
- les prototypes des fonctions de "foo.c" que les autres modules peuvent utilises (ex: "int foo (int arg1);"
- et des constantes, des macros, voir les "#include" necessaires a l'utilisation du module
Dans le "foo.c", on met le code et toutes les donnees necessaire a la bonne execution de ce code, on y retrouvera entre autre :
- un '#include "foo.h"' pour recuperer ce qu'on a deja dedans ;-)
- l'instance des variables globales du ".h" (ex: FooData data)
- les fonctions proposees dans le ".h" (ex: "int foo (int arg1) { return arg1*2; }")
- et toutes les donnees et fonctions "internes" utiles qui pour bien faire seront explicitement declarees en "static" dans la mesure ou elles n'ont pas lieu d'etre appelles de l'exterieur si on ne les a pas rendues visibles dans le ".h"
ET si on fait du C++, on met tout ca dans des "class" et des "namespace" pour faire moderne :-P
Bon , je vais voir ce code tout de mem ;-)
Amanobuo
Messages postés65Date d'inscriptionmardi 24 février 2004StatutMembreDernière intervention11 décembre 2006 26 avril 2006 à 21:07
merci pour vos commentaires , j'améliore constament le code grace à ces précisions
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 22 avril 2006 à 01:39
En ce qui concerne les variables 'extern', c'est tout à fait ce qu'il faut faire à ceci près qu'il vaut mieux les déclarer dans le Main.cpp plûtot que dans le .h, ce qui fonctionne pareil. Les 'const' peuvent se trouver dans le header. (question de lisibilitée, car pour comprendre un code sur 2 fichiers c'est plus long que sur 1 !)
PS : les 'extern' peuvent être locale à une fonction dans n'imoporte quel .cpp et pas obligatoirement en dehors des fonctions.
Ceci existe depuis les débuts du C (1972).
Bonne continuation...
cube45
Messages postés14Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention 3 novembre 2006 14 avril 2006 à 20:58
Bonsoir,
j'ai pas testé mais je trouve que sur la capture le cavalier fait un peu maigrichon par rapport aux autres pieces. Sans ca niveau grafique c'est pas mal fait.
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 11 avril 2006 à 18:13
On est actuellement en train de parler des variables globales dans la source shoot them up.
6 oct. 2006 à 02:36
Une petite precision sur la "philosophie" des fichiers "foo.c" "foo.h" :
Dans le "foo.h", on met tout ce qui peut être utile aux autres modules qui veuleut utiliser ce qui est dans "foo.c", on va donc y retrouver par exemple :
- les declarations de types de donnees necessaires a l'utilisation de "foo.c"
- les variables globales de "foo.c" utilisables par les autres (ex: "extern FooData data;")
- les prototypes des fonctions de "foo.c" que les autres modules peuvent utilises (ex: "int foo (int arg1);"
- et des constantes, des macros, voir les "#include" necessaires a l'utilisation du module
Dans le "foo.c", on met le code et toutes les donnees necessaire a la bonne execution de ce code, on y retrouvera entre autre :
- un '#include "foo.h"' pour recuperer ce qu'on a deja dedans ;-)
- l'instance des variables globales du ".h" (ex: FooData data)
- les fonctions proposees dans le ".h" (ex: "int foo (int arg1) { return arg1*2; }")
- et toutes les donnees et fonctions "internes" utiles qui pour bien faire seront explicitement declarees en "static" dans la mesure ou elles n'ont pas lieu d'etre appelles de l'exterieur si on ne les a pas rendues visibles dans le ".h"
ET si on fait du C++, on met tout ca dans des "class" et des "namespace" pour faire moderne :-P
Bon , je vais voir ce code tout de mem ;-)
26 avril 2006 à 21:07
22 avril 2006 à 01:39
PS : les 'extern' peuvent être locale à une fonction dans n'imoporte quel .cpp et pas obligatoirement en dehors des fonctions.
Ceci existe depuis les débuts du C (1972).
Bonne continuation...
14 avril 2006 à 20:58
j'ai pas testé mais je trouve que sur la capture le cavalier fait un peu maigrichon par rapport aux autres pieces. Sans ca niveau grafique c'est pas mal fait.
11 avril 2006 à 18:13