Dans les langages de programmation C et C ++, quelle est la différence entre l'utilisation de crochets angulaires et l'utilisation de guillemets dans une includeinstruction, comme suit? #include <filename> #include "filename"
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 #.
Dans les langages de programmation C et C ++, quelle est la différence entre l'utilisation de crochets angulaires et l'utilisation de guillemets dans une includeinstruction, comme suit? #include <filename> #include "filename"
Pourquoi le préprocesseur C dans GCC interprète-t-il le mot linux(petites lettres) comme la constante 1? test.c: #include <stdio.h> int main(void) { int linux = 5; return 0; } Résultat de $ gcc -E test.c(arrêt après la phase de prétraitement): .... int main(void) { int 1 = 5; return 0; } Ce...
Dans de nombreuses macros C / C ++, je vois le code de la macro enveloppé dans ce qui semble être une do whileboucle vide de sens . Voici des exemples. #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else Je ne vois pas ce que ça do whilefait. Pourquoi ne pas...
J'ai vu du code comme celui-ci généralement au début des fichiers d'en-tête: #ifndef HEADERFILE_H #define HEADERFILE_H Et à la fin du fichier se trouve #endif Quel en est le
Je passe par quelques notes de cours C, et chaque fichier source du programme C commence par un seul #sur la première ligne du programme. Ensuite, il y a des lignes vides, et après ces autres éléments, suivis de la mainfonction. Quelle est la raison du #? (Il est hors limite maintenant et je ne...
Je travaille sur un projet qui a beaucoup de code C hérité . Nous avons commencé à écrire en C ++, avec l'intention de convertir éventuellement le code hérité également. Je suis un peu confus quant à la façon dont le C et le C ++ interagissent. Je comprends qu'en enveloppant le code C avec extern...
Où sont MINet MAXdéfinis en C, le cas échéant? Quelle est la meilleure façon de les implémenter, de manière aussi générique et sécurisée que possible? (Les extensions / buildins du compilateur pour les compilateurs traditionnels sont
Comment définir une variable de préprocesseur via CMake? Le code équivalent serait #define
На этот вопрос есть ответы на Stack Overflow à partir de : Как узнать список всех определённых макросов? Existe-t-il un moyen pour gcc / g ++ de vider ses définitions de préprocesseur depuis la ligne de commande? Je veux dire des choses comme __GNUC__, __STDC__et ainsi de...
Je me demandais si quelqu'un pourrait m'expliquer ce que fait la #pragma packdéclaration du préprocesseur et, plus important encore, pourquoi on voudrait l'utiliser. J'ai vérifié la page MSDN , qui offrait un aperçu, mais j'espérais en savoir plus de personnes ayant de l'expérience. Je l'ai déjà vu...
Essayer de créer une macro qui peut être utilisée pour imprimer des messages de débogage lorsque DEBUG est défini, comme le pseudo-code suivant: #define DEBUG 1 #define debug_print(args ...) if (DEBUG) fprintf(stderr, args) Comment cela se fait-il avec une
J'ai besoin que mon code fasse différentes choses en fonction du système d'exploitation sur lequel il est compilé. Je cherche quelque chose comme ça: #ifdef OSisWindows // do Windows-specific stuff #else // do Unix-specific stuff #endif Y a-t-il un moyen de faire cela? Y a-t-il une meilleure façon...
Disons que j'ai un fichier source avec de nombreuses directives de préprocesseur. Est-il possible de voir à quoi il ressemble après que le préprocesseur en a
Je veux écrire une macro en C qui accepte n'importe quel nombre de paramètres, pas un nombre spécifique exemple: #define macro( X ) something_complicated( whatever( X ) ) où Xest un nombre quelconque de paramètres J'en ai besoin car il whateverest surchargé et peut être appelé avec 2 ou 4...
Quelle est la raison de l'avertissement suivant dans certains compilateurs C ++? Pas de nouvelle ligne à la fin du fichier Pourquoi devrais-je avoir une ligne vide à la fin d'un fichier source / en-tête?
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...
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 C est...
Contrairement à Objective-C, Swift n'a pas de préprocesseur, alors existe-t-il toujours un moyen de déprécier manuellement les membres d'une classe? Je recherche quelque chose de similaire à ceci: -(id)method
Comment puis-je ajouter une condition 'ou' dans #ifdef? J'ai essayé: #ifdef CONDITION1 || CONDITION2 #endif Cela ne fonctionne
En supposant que votre compilateur C ++ les prend en charge, y a-t-il une raison particulière de ne pas les utiliser __FILE__, __LINE__et __FUNCTION__à des fins de journalisation et de débogage? Je suis principalement préoccupé par le fait de fournir à l'utilisateur des données trompeuses (par...