img
@_ö
(15:25)  Bienvenue ! - Inscrivez vous pour poster ! -
@Boo + 81 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 - 7265
19:52  geogeo - Posté : 22-03-2010  M   Signaler un abus Signaler un contenu inapproprié

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   Signaler un abus Signaler un contenu inapproprié

#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 - 7265
20:24  geogeo - Posté : 22-03-2010  M   Signaler un abus Signaler un contenu inapproprié

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 - 7265
21:09  geogeo - Posté : 22-03-2010  M   Signaler un abus Signaler un contenu inapproprié

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 - 55169
21:26  squalyl - Posté : 22-03-2010  M   Signaler un abus Signaler un contenu inapproprié

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


For most people, good enough is near enough. For the few, good enough is never enough.
Nspire wiki
CONDUCTEUR Va-et-vient Des QUATRE MANCHE AVEC DES DIODES
./5
28.08.2003 - 8284
22:22  Sasume - Posté : 22-03-2010  M   Signaler un abus Signaler un contenu inapproprié

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 - 55169
23:18  squalyl - Posté : 22-03-2010  M   Signaler un abus Signaler un contenu inapproprié

au moins c'est clair :D

merci :)


For most people, good enough is near enough. For the few, good enough is never enough.
Nspire wiki
CONDUCTEUR Va-et-vient Des QUATRE MANCHE AVEC DES DIODES
./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