Macro de debug coloreada
Siempre que se empieza a desarrollar sobre C++, lo primero que se piensa es que es un entorno feo, aburrido y arcaico. Al cabo de un tiempo te das cuenta de la potencia y las maravillas que puedes llegar a conseguir con este lenguaje de programación, y por que sigue estando tan extendido.
Hoy vamos a ver como generar unas sencillas macros, que podemos incluir en nuestras librerías mas típicas, para poder mostrar la salida de debug coloreada, y diferenciar así entre de forma mas sencilla cada output de nuestro programa.
Con una simple linea podemos hacer nuestra salida coloreada:
#define DEBUG(…) do{fprintf(stderr,“33[34m”); fprintf(stderr, __VA_ARGS__); fprintf(stderr,“33[0m”);}while(0)
Para cambiar los distintos colores aqui os dejo una amplia gama:
#define RESET “33[0m” #define BLACK “33[30m” /* Black */ #define RED “33[31m” /* Red */ #define GREEN “33[32m” /* Green */ #define YELLOW “33[33m” /* Yellow */ #define BLUE “33[34m” /* Blue */ #define MAGENTA “33[35m” /* Magenta */ #define CYAN “33[36m” /* Cyan */ #define WHITE “33[37m” /* White */ #define BOLDBLACK “33[1m33[30m” /* Bold Black */ #define BOLDRED “33[1m33[31m” /* Bold Red */ #define BOLDGREEN “33[1m33[32m” /* Bold Green */ #define BOLDYELLOW “33[1m33[33m” /* Bold Yellow */ #define BOLDBLUE “33[1m33[34m” /* Bold Blue */ #define BOLDMAGENTA “33[1m33[35m” /* Bold Magenta */ #define BOLDCYAN “33[1m33[36m” /* Bold Cyan */ #define BOLDWHITE “33[1m33[37m” /* Bold White */
Ya solo nos queda que cada vez que pretendamos usar dicha macro la llamemos mediante:
DEBUG(“Texto a mostrar”);