Peut un C de la définition de macros se référer à d'autres macros?

Ce que j'essaie de comprendre si quelque chose comme cela (écrit en C):

#define FOO 15
#define BAR 23
#define MEH (FOO / BAR)

est-elle autorisée? Je voudrais le préprocesseur à remplacer chaque occurrence de

MEH

avec

(15 / 23)

mais je ne suis pas sûr que cela va fonctionner. Certes, si le préprocesseur passe seulement par le code une seule fois, puis je ne pense pas que ça comme je le voudrais.

J'ai trouvé plusieurs exemples de ce genre, mais tous étaient vraiment trop compliqué pour moi à comprendre. Si quelqu'un pouvait m'aider à sortir de ce simple je vous en serai éternellement reconnaissant!

  • Avant la lecture de votre question, je pensais que vous étiez question de savoir si une définition de macro peut définir une autre macro, comme #define FOO(x) #define BAR x. La réponse à cette question (qui n'a pas fait de demande) est non; une définition de macro ne peut pas inclure d'autres directives de préprocesseur. Je vais éditer ton titre pour le rendre plus clair ce que vous demandez.
  • Google X-Macros, en profiter.
InformationsquelleAutor llakais | 2011-11-01