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"
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...
En C / C ++ / Objective C, vous pouvez définir une macro à l'aide de préprocesseurs de compilateur. De plus, vous pouvez inclure / exclure certaines parties de code à l'aide de préprocesseurs de compilateur. #ifdef DEBUG // Debug-only code #endif Existe-t-il une solution similaire dans...
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
Lequel est préférable d'utiliser, et pourquoi, sur un grand projet: #if DEBUG public void SetPrivateValue(int value) { ... } #endif ou [System.Diagnostics.Conditional("DEBUG")] public void SetPrivateValue(int value) { ... }
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 crée une application qui traite les données sensibles des cartes de crédit. Si mon code s'exécute en mode débogage, je veux enregistrer ces données sur la console et effectuer des vidages de fichiers. Cependant, sur la version finale de l'appstore (c'est-à-dire lorsqu'elle fonctionne en mode...
J'écris ma première page de rasoir aujourd'hui, je ne sais pas comment entrer #if debug #else #endif Comment puis-je entrer le préprocesseur dans le
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...