2010-09-14 6 views
1

Existe-t-il un moyen de déterminer la configuration active (c'est-à-dire Déboguer ou Libérer) dans le code? Quelque chose le long des lignes deDéterminer par programme la configuration active

#ifdef XCodeConfigurationDebug 
    ... 
#endif 

#ifdef XCodeConfigurationRelease 
    ... 
#endif 

Je sais qu'il est possible de le faire en ajoutant des indicateurs de compilateur personnalisés. Cependant, je suis à la recherche d'une solution plus globale.

Répondre

4

Il y a le drapeau __OPTIMIZE__ qui est défini lors du mode de diffusion, et donc:

#ifndef __OPTIMIZE__ 
// code for debug mode 
#else 
// code for release 
#endif 
+0

Super, ça marche. THX! – hennes

2

Je le trouve en utilisant les déclarations du préprocesseur. vous pouvez ajouter votre propre définition, ou NDEBUG est un autre commun à déclarer dans la version.

+0

Ouais, c'est exact, mais je cherchais une manière qui ne impliquer de jouer avec les paramètres de construction. J'en ai besoin pour un fragment de code qui sera inclus dans un autre projet XCode, dont je ne connais pas les paramètres de construction. Mais, de toute façon! :) – hennes

1

Vous pouvez également ajouter vos propres macros préprocesseur par configuration sur les paramètres de construction de votre cible. Ex .:

Debug

GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 

presse

GCC_PREPROCESSOR_DEFINITIONS = RELEASE=1 

Et puis dans votre code

#ifdef DEBUG 
... 
#else 
... 
#endif 
Questions connexes