Je dois avoir quelques lignes de code "actives" en mode débogage seulement, et ignorées en mode release. Est-il possible de faire quelque chose comme ceci:Comment commenter des lignes automatiquement en mode release?
#include <iostream>
using namespace std;
#ifdef _TEST_
#define _cerr cerr
#else
#define _cerr // cerr
#endif
int main() {
_cerr << "TEST message" << endl;
}
Alors que lorsque _TEST_
n'est pas défini, certaines lignes sont commentées ou supprimées du code. Je sais que les commentaires sont traités avant le reste, donc ce code est faux. Mais comment puis-je obtenir le comportement dont j'ai besoin sans utiliser explicitement #ifdefs?
utile macro +1 –
ne pas ajouter le point-virgule dans la macro rend votre code plus C++ comme (utilisateur forces ajouter ',' après l'article 'DEBUG_ONLY') – xtofl
Le seul problème que je vois avec cette macro est que vous sont limités à une déclaration. Personnellement, je préfère un 'do {x; } while (0) 'clause pour autoriser plusieurs instructions dans la macro (même si certains compilateurs se plaignent de la partie' while (0) '...: /) –