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