90

"v""0.1.0.12"" " C'est ça que tu veux
Donc en gros

puts("v"str(VERSION)" "); ?

Après si tu veux créer ta macro bah là hein faut manière le # ^^
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

91

Oé c'est l'idée ^^
Faudrait que ca me genere un truc du genre : "v0.1.0.1 tralali tralala"
Mais j'ai l'impression de m'etre planté dans mes "stringifications", je vais verifier tout ca happy

Ah! Mais avant; histoire que je comprenne bien ce que je fais :
#define STR1 "toto"
#define STR2 " tati"
#define str(x,y) xstr(x,y)
#define xstr(x,y) x ## y
#define STR_GEN str( STR1, STR2)

STR_GEN vaudra :
- "toto tati" (je pencherai pour ce resultat)
- ou ""toto"" tati"" ? happy

Edit > Tout compte fait non : ca genererai plutot (a mon avis) ""toto"" tati"" j'ai l'impression... hum
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

92

#define MAKEVERSION "v" str(VERSION) " "
?
(A mon avis, ça doit être plus compliqué que ça ^^)
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

93

C'est une idée grin Je vais tester top
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

94

Non mais toute façon ce que tu veux faire ne marchera jamais.
STR_GEN vaudra une macro portant le nom de "toto""tati" Bref c'est impossible !!!
Ton str(x,y) devient donc #x#y

Ainsi :

#define VER 1.2.3.4
#define VER_SUFFIXE blabla
#define str_version(x, y) xstr_version(x, y)
#define xstr_version(x, y) "v"#x" "#y

int main(int argc, char *argv[])
{
puts(str_version(VER, VER_SUFFIXE));
system("PAUSE");
return 0;
}
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

95

C'est exactement ce que je cherchais! Merci Lionel happy

Donc en fait un #define se comporte presque comme un dc.b "une chaine","une autre chaine",0 eek
J'était loin de penser ca! magic
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

96

./94 > cross
Vi c'est exactement ce que je viens de voir happy Ca explique pourquoi j'arrivais jamais a generer ce que je voulais happy
J'avais pas compris que tant que le preprocesseur ne recontrait pas la fin ligne il continuais a "coller" les éléments happy
Merci bien wink
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

97

Encore un probleme avec le preprocesseur :
N'y a-t-il vraiment aucun moyen de lui faire calculer quoique ce soit a partir de constantes ?
Est-ce inevitablement la tache du compilateur ?
Car pour generer mes numeros de versions etc...Ca me complique pas mal la tache magic

Edit > Tout ce qu'il sait me faire c'est ca :

#define TRUC 5
#define BIDULE 3

#define MAC_Add(x,y) MAC_xAdd(x,y)
#define MAC_xAdd(x,y) ((x)+(y))

#define CHOSE MAC_Add(TRUC,BIDULE) // et ca me donne : ((5)+(3))
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

98

Euh un préprocesseur ne fait aucun calcul !!!
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

99

Rahhh!!!! Cay nuuulll tongue magic
Bon ben je vais faire avec ^^'
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

100

Ba si ce sont des constantes c'est le compilo qui le fera le calcul au moment de la compilation... ça change pas gd chose

aka si tu fait


a = 1 + 2;

le compilo va pas faire

move #1, r0
add #2, r0
move r0, a


mais

move #3, a

Je ne connais aucun compilo qui ne fasse pas ça (et meme si je me trompe pas c'est meme le cas sans optim, et bien sur QUE pour les constantes)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

101

Oui sauf si j'ai besoin de generer une chaine en fonction d'un calcul sur ces constantes sorry
Car afficher : "((1)+(2))" au lieu de "3"... magic
(Mais là je ne prend exemple que pour la StatusLine a qui je passe une chaine directement; pour un printf ca marche sans probleme par contre smile )
Elle était bien pratique cette statusline sorry Mais je crois que je vais devoir m'en passer happy
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

102

103

T'as pas tord Martial happy
Ca m'donne une idée... magic
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

104

105

C'est qui l'tordu ?! Moi ?! trigic

En tous cas j'ai ecouté ton conseil et j'ai changé de structure happy
Ca marche au poil tripo
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

106

107

embarrassed



tripaf rotfl
J'était completment a coté de la plaque desolé Martial trigic cheeky
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

108

Je reviens a la charge magic

J'ai remarqué quelque chose d'assez etonnant avec le preprocesseur :
Lorsque l'on fait un test avec des #if de ce genre :

#define UN 1
#define DEUX 2

#if ((UN + DEUX) == 3)
// ...
#endif

Le preprocesseur est capable d'evaluer (UN + DEUX).
Alors je sais que c'est pas dans la norme standard C, mais je me demande pourquoi :
#define TROIS (UN + DEUX)
n'est pas evalué dans ce cas (tâche qui est dechargée au compilateur a cause de la norme).
C'est etonnant que la norme n'ai pas pris ca en charge, puisqu'on a vu que le preprocesseur était capable d'évaluer une expression de lui-meme sorry
Meme les modulos sont évalués; alors pourquoi des opérations si basiques ne sont pas reconnues par le preprocesseur ?
J'hesite entre un oubli lors de la redaction de la norme ou alors il y a une raison particuliere mais je ne vois pas laquelle... confus

Edit > Et...ca m'embete bien cette histoire magic

Edit2 > En fin d'compte, la raison est peut-etre toute bete magic :
#define UN 1
#define DEUX C // hum! (sachant que le preprocesseur ne fait aucune verification de validité...)
#define TROIS (UN + DEUX) cheeky
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

109

c'est pasque le #define, il n'a pas besoin de le traduire la tout de suite il peut laisser le compilo le faire (et c'es du temps de gagné)

alors que pour le #if il en a besoin tout de suite pour savoir si il vaut evaluer ce qui est dans le #if #endif ou non
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

110

Ouais smile
En tous cas c'est une belle lacune quand meme, mais expliquée en partie par le fait qu'il n'y ait aucune verification sorry
Dommage grin
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

111

Le rôle du préprocesseur est seulement de faire de la substitution de texte.
Dans le cas particulier #if, il est évidemment obligé d'évaluer la condition que tu lui donnes.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »