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 #.

19
#ifdef vs #if - quelle méthode est la meilleure / la plus sûre pour activer / désactiver la compilation de sections particulières de code?
C'est peut-être une question de style, mais il y a un peu de division dans notre équipe de développement et je me suis demandé si quelqu'un d'autre avait des idées à ce sujet ... Fondamentalement, nous avons des instructions d'impression de débogage que nous désactivons pendant le développement normal. Personnellement, …



10
Numéro de ligne C / C ++
Dans un souci de débogage, puis-je obtenir le numéro de ligne dans les compilateurs C / C ++? (méthode standard ou méthodes spécifiques pour certains compilateurs) par exemple if(!Logical) printf("Not logical value at line number %d \n",LineNumber); // How to get LineNumber without writing it by my hand?(dynamic compilation)


7
Virgule dans une macro C / C ++
Disons que nous avons une macro comme celle-ci #define FOO(type,name) type name Que nous pourrions utiliser comme FOO(int, int_var); Mais pas toujours aussi simplement que ça: FOO(std::map<int, int>, map_var); // error: macro "FOO" passed 3 arguments, but takes just 2 Bien sûr, nous pourrions faire: typedef std::map<int, int> map_int_int_t; FOO(map_int_int_t, …
104 c++  c  macros  c-preprocessor 

11
Macro vs fonction en C
J'ai toujours vu des exemples et des cas où l'utilisation d'une macro est meilleure que l'utilisation d'une fonction. Quelqu'un pourrait-il m'expliquer avec un exemple l'inconvénient d'une macro par rapport à une fonction?

8
Comment définir un symbole de préprocesseur dans Xcode
Est-il possible de définir un symbole pour la compilation conditionnelle en définissant des propriétés dans un projet Xcode? Mon objectif est de créer un symbole qui soit disponible pour tous les fichiers, sans avoir à utiliser import / include, afin qu'un ensemble de classes communes puisse avoir un comportement particulier …

4
Le rôle de #ifdef et #ifndef
#define one 0 #ifdef one printf("one is defined "); #ifndef one printf("one is not defined "); En cela, quel est le rôle de #ifdefet #ifndefet quel est le résultat?

8
Indentation #defines
Je sais que les #defines, etc. ne sont normalement jamais indentés. Pourquoi? Je travaille actuellement avec du code qui contient un horrible mélange de #defines, #ifdefs, #elses, #endifs, etc. Tout cela est souvent mélangé avec du code C normal. La non-indentation des #defines les rend difficiles à lire. Et le …

12
Préprocesseur C ++ __VA_ARGS__ nombre d'arguments
Question simple à laquelle je n'ai pas trouvé de réponse sur le net. Dans les macros d'arguments variadiques, comment trouver le nombre d'arguments? Je suis d'accord avec le préprocesseur boost, s'il a la solution. Si cela fait une différence, j'essaie de convertir un nombre variable d'arguments de macro pour stimuler …


4
Pragma dans définir la macro
Existe-t-il un moyen d'intégrer une instruction pragma dans une macro avec d'autres instructions? J'essaye de réaliser quelque chose comme: #define DEFINE_DELETE_OBJECT(type) \ void delete_ ## type_(int handle); \ void delete_ ## type(int handle); \ #pragma weak delete_ ## type_ = delete_ ## type Je suis d'accord avec les solutions de …

14
Problèmes de compilation, de construction ou d'archivage avec Xcode 4 (et les dépendances)
Cette question a évolué au cours des dernières semaines pour couvrir des problèmes plus généraux avec xcode4 (et la mise à niveau des projets d'anciens xcodes). Cependant, de nombreux problèmes peuvent être résolus en suivant le même ensemble d'instructions. Si vous rencontrez l'un des problèmes suivants, essayez les méthodes de …

7
Pourquoi ne définir une macro que si elle n'est pas déjà définie?
Partout dans notre base de code C, je vois chaque macro définie de la manière suivante: #ifndef BEEPTRIM_PITCH_RATE_DEGPS #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #endif #ifndef BEEPTRIM_ROLL_RATE_DEGPS #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #endif #ifndef FORCETRIMRELEASE_HOLD_TIME_MS #define FORCETRIMRELEASE_HOLD_TIME_MS 1000.0f #endif #ifndef TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS #define TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS 50.0f #endif Quelle est la justification de ces vérifications de définition au …

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.