Petite question pour les furieux du preprocessing : Comment inclure une directive pragma dans une macro?
Par ex: #define OPT_SIZE #pragma Osize
Bien sûr, lorsque je fais un OPT_SIZE, je me fais jeter... À noter que j'utilise le compilo pour Arm ADS, mais si qq un a une solution pour un autre compilo, je suis preneur.
# Faire en 2 phases
Posté par Étienne . Évalué à 1.
Fichier source :
#define OPT_SIZE #pragma Osize
OPT_SIZE
int main()
{
return 0;
}
$ gcc -E prep.c | gcc -o prep -x c -
# A essayer...
Posté par Gilles G. . Évalué à 2.
http://www.delorie.com/gnu/docs/gcc/cpp_45.html
Apparement C99 introduit _Pragma("une chaine") pour pouvoir mettre des pragma dans les macros justement...
[^] # Re: A essayer...
Posté par calandoa . Évalué à 1.
Merci!!
[^] # Re: A essayer...
Posté par Étienne . Évalué à 0.
Ceci dit je me demande pourquoi le fait d'avoir un #pragma dans une macro ne marche pas étant donné que c'est supposé être utilisé par le compilateur et non par le preprocesseur.
Étienne
[^] # Re: A essayer...
Posté par GeneralZod . Évalué à 2.
[^] # Re: A essayer...
Posté par Étienne . Évalué à 1.
[^] # Re: A essayer...
Posté par Obsidian . Évalué à 2.
Je n'en sais rien, mais comme #pragma est censé spécifier des arguments à des extensions du langage, peut-être a-t-il besoin de pouvoir être exploité par toutes les couches, voire même par d'autres compilateurs, en particulier si on ne se sert de GCC que pour la précompilation ...
[^] # Re: A essayer...
Posté par Étienne . Évalué à 2.
Étienne
[^] # Re: A essayer...
Posté par GeneralZod . Évalué à 1.
# .
Posté par liberforce (site web personnel) . Évalué à 2.
#define OPT_SIZE TRUE
#if (OPT_SIZE)
#pragma 0size
#endif
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.