Questions marquées «c-preprocessor»

Processeur de macros textuelles appliqué avant la compilation de programmes en langage C et C ++. Cette balise peut également être utilisée pour des questions sur d'autres compilateurs / langages dérivés ou ayant des fonctionnalités identiques, comme les #directives en Objective-C ou C #.

8
Surcharger la macro sur le nombre d'arguments
J'ai deux macros FOO2 et FOO3: #define FOO2(x,y) ... #define FOO3(x,y,z) ... Je souhaite définir une nouvelle macro FOO comme suit: #define FOO(x,y) FOO2(x,y) #define FOO(x,y,z) FOO3(x,y,z) Mais cela ne fonctionne pas car les macros ne surchargent pas sur le nombre d'arguments. Sans modifier FOO2et FOO3, existe-t-il un moyen de …
184 c  macros  c-preprocessor 

30
Quand les macros C ++ sont-elles utiles? [fermé]
Fermé . Cette question doit être plus ciblée . Il n'accepte pas les réponses actuellement. Vous souhaitez améliorer cette question? Mettez à jour la question pour qu'elle se concentre sur un seul problème en éditant ce message . Fermé il y a 2 ans . Améliorez cette question Le préprocesseur …




2
Comment concaténer deux fois avec le préprocesseur C et développer une macro comme dans «arg ## _ ## MACRO»?
J'essaie d'écrire un programme où les noms de certaines fonctions dépendent de la valeur d'une certaine variable macro avec une macro comme celle-ci: #define VARIABLE 3 #define NAME(fun) fun ## _ ## VARIABLE int NAME(some_function)(int a); Malheureusement, la macro NAME()transforme cela en int some_function_VARIABLE(int a); plutôt que int some_function_3(int a); …

10
Alternative standard à l'astuce ## __ VA_ARGS__ de GCC?
Il existe un problème bien connu avec les arguments vides pour les macros variadiques dans C99. exemple: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); L'utilisation de BAR()ci-dessus est en effet incorrecte selon la norme C99, car elle s'étendra à: printf("this breaks!",); Notez la virgule …



15
Dois-je utiliser #define, enum ou const?
Dans un projet C ++ sur lequel je travaille, j'ai une sorte d' indicateur de valeur qui peut avoir quatre valeurs. Ces quatre drapeaux peuvent être combinés. Les indicateurs décrivent les enregistrements de la base de données et peuvent être: nouvel enregistrement enregistrement supprimé enregistrement modifié enregistrement existant Maintenant, pour …






En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.