Je n'avais pensé à écrire sur ce sujet à un moment donné, mais a écarté l'idée d'être trop simple. J'ai supposé qu'il était déjà de notoriété publique.
Dans la dernière semaine, j'ai reçu deux e-mails demandant à ce sujet, alors j'ai décidé qu'il pourrait être utile un petit post, même si beaucoup d'entre vous le savez certainement déjà.
Beaucoup de gens aiment mettre le code dans qui est compilé dans la version debug de leur application, mais pas dans la version finale. Quelque chose le long des lignes de:
En général, je ne fais pas beaucoup de moi-même, préférant utiliser des choses comme les actions breakpoint pour des choses que je ne veux pas dans mon code. Personnellement, je veux que le code qui est compilé en versions release et debug pour être aussi proche que possible de minimiser les surprises inattendues.
Mais, je reconnais qu'il s'agit d'une approche largement utilisée que beaucoup de gens veulent utiliser et comment vous le faites dans Xcode n'est pas immédiatement évident. Si vous ouvrez la fenêtre Infos sur le projet en sélectionnant Paramètres du projet Modifier dans le menu Projet, ou double-cliquant sur le nœud racine du projet dans la Groupes & Fichiers volet, puis cliquez sur le Build onglet, vous avez la possibilité de définir plusieurs options sur une base par-configuration. Sous le titre CCG x.x - Prétraitement (Où xx est la version de GCC que vous utilisez), il ya une option appelée Macros préprocesseur. Vous pouvez définir des constantes précompilateur ici sur une base par configuration. Voici une capture d'écran qui montre la valeur DEBUG étant définie pour la configuration Debug seulement:

Le seul problème avec l'aide de cette option est que la définition d'une macro ici déclenche les en-têtes précompilés pour obtenir recompilé à chaque fois. Heureusement, l'option suivante, après Macros préprocesseur est appelé Macros préprocesseur Non utilisé dans les entêtes précompilés, Et il fait exactement la même chose, mais elle ne définit pas les macros qu'après le fichier. Pch est lu, ce qui signifie qu'il ne déclenchera pas une recompilation des en-têtes précompilés. Cela se traduira par des temps de compilation plus courte. Ainsi, la plupart du temps, c'est ce que vous voulez, sauf si vous ajoutez manuellement quelque chose dans le fichier PCH qui s'appuie sur la macro.:

Dans la dernière semaine, j'ai reçu deux e-mails demandant à ce sujet, alors j'ai décidé qu'il pourrait être utile un petit post, même si beaucoup d'entre vous le savez certainement déjà.
Beaucoup de gens aiment mettre le code dans qui est compilé dans la version debug de leur application, mais pas dans la version finale. Quelque chose le long des lignes de:
#ifdef DEBUG
NSLog(@"Some Debug Statement telling me the value of %@", foo);
#endifEn général, je ne fais pas beaucoup de moi-même, préférant utiliser des choses comme les actions breakpoint pour des choses que je ne veux pas dans mon code. Personnellement, je veux que le code qui est compilé en versions release et debug pour être aussi proche que possible de minimiser les surprises inattendues.
Mais, je reconnais qu'il s'agit d'une approche largement utilisée que beaucoup de gens veulent utiliser et comment vous le faites dans Xcode n'est pas immédiatement évident. Si vous ouvrez la fenêtre Infos sur le projet en sélectionnant Paramètres du projet Modifier dans le menu Projet, ou double-cliquant sur le nœud racine du projet dans la Groupes & Fichiers volet, puis cliquez sur le Build onglet, vous avez la possibilité de définir plusieurs options sur une base par-configuration. Sous le titre CCG x.x - Prétraitement (Où xx est la version de GCC que vous utilisez), il ya une option appelée Macros préprocesseur. Vous pouvez définir des constantes précompilateur ici sur une base par configuration. Voici une capture d'écran qui montre la valeur DEBUG étant définie pour la configuration Debug seulement:

Le seul problème avec l'aide de cette option est que la définition d'une macro ici déclenche les en-têtes précompilés pour obtenir recompilé à chaque fois. Heureusement, l'option suivante, après Macros préprocesseur est appelé Macros préprocesseur Non utilisé dans les entêtes précompilés, Et il fait exactement la même chose, mais elle ne définit pas les macros qu'après le fichier. Pch est lu, ce qui signifie qu'il ne déclenchera pas une recompilation des en-têtes précompilés. Cela se traduira par des temps de compilation plus courte. Ainsi, la plupart du temps, c'est ce que vous voulez, sauf si vous ajoutez manuellement quelque chose dans le fichier PCH qui s'appuie sur la macro.:

Aucun commentaire:
Enregistrer un commentaire