img
@_ö
(18:58)  Bienvenue ! - Inscrivez vous pour poster ! -
@Boo + 21 inconnu(s)

Login :  Mot de passe :      Se souvenir de moi.  Mot de passe perdu ?
/!\:: Cliquez ici pour vous inscrire et poster, créer des sujets ou des forums ! ::/!\
 « - 1/1 - » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Prog C TI (6r) » Concatener 2 macros
./Post de départ - Concatener 2 macros
06.02.2003 - 7268
19:52  geogeo - Posté : 22-03-2010  M

Malgré mes tentatives je n'arrives pas à concaténer 2 macros en C.
Voilà ce que je cherche à faire:

#define OS_VERSION 1.1.1
#define OS_FUNC(f) f##_##OS_VERSION

Je voudrais obtenir ceci:
OS_FUNC(mafonction) -> mafonction_1.1.1

Mais gcc me renvoie:
OS_FUNC(mafonction) -> mafonction_OS_VERSION

Si vous avez une idée n'hésitez pas.


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. PolySn
./Publicité AdSense
./1
28.08.2003 - 8284
20:16  Sasume - Posté : 22-03-2010  M

#define OS_VERSION 1.1.1 
#define _OS_FUNC(f, v) f ## _ ## v 
#define OS_FUNC(f) _OS_FUNC(f, OS_VERSION)
?


« 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. »
./2
06.02.2003 - 7268
20:24  geogeo - Posté : 22-03-2010  M

Malheuruesement ça ne fonctionne pas. #pleure#
Toujours le même résultat: OS_FUNC(mafonction) -> mafonction_OS_VERSION


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. PolySn
./3
06.02.2003 - 7268
21:09  geogeo - Posté : 22-03-2010  M

J'ai trouvé. Merci Sasume.


#define OS_VERSION 1.1.1

#define __OS_FUNC(f, v) f ## _ ## v
#define _OS_FUNC(f, v) __OS_FUNC(f, v)
#define OS_FUNC(f) _OS_FUNC(f, OS_VERSION)


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. PolySn
./4
16.06.2001 - 59737
21:26  squalyl - Posté : 22-03-2010  M

jamais compris pourquoi ça marchait pas avec la méthode de Geogeo d'ailleurs.


./5
28.08.2003 - 8284
22:22  Sasume - Posté : 22-03-2010  M

Dans une définition de macro, un token avant ou après # ou ## n’est pas substitué.
D’ou l’appel intermédiaire pour que la substitution ait lieu.


« 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. »
./6
16.06.2001 - 59737
23:18  squalyl - Posté : 22-03-2010  M

au moins c'est clair :D

merci :)


./Publicité AdSense
 « - 1/1 - » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Prog C TI (6r) » Concatener 2 macros

./Poster un nouveau message. - Ouvrir dans une nouvelle fenêtre
Login : Mot de passe :

url - image - media  
spoiler - pre - fixed
quote - box - hr
poll - code





Smileys
Smileys perso
Pièce jointe
     Flood control (?) :    
Les messages postés sont la propriété de leurs auteurs. Nous ne sommes pas responsables de leurs contenus.

» yN ©1624 - Aide / Charte / Crédits
31ms | Statistiques