Written by: on 16/01/2013 @ 08:00

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

Catogories: embedded, GNU/Linux, Programacion

Leave a Reply