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”);