プログラミングはクールだ
2459 ワード
linuxでは、いくつかのマクロを使用して、カスタムフォーマットの出力を加えて、出力をデバッグしやすくすることができます.
レイアウトが乱れているかもしれませんが、do{}while(0);一行でいいです.
出力結果:
レイアウトが乱れているかもしれませんが、do{}while(0);一行でいいです.
#include <stdio.h>
#include <stdlib.h>
#define DEBUG1( fmt, arg ... ) \
do{printf("[DEBUG] " fmt , ##arg ); }while(0);
#define DEBUG2( fmt, arg ... ) \
do{printf("[%s: %s: line %d]" fmt ,\
__FILE__, __FUNCTION__, __LINE__, ##arg ); }while(0);
#define PrintColor1( fmt, arg ... ) \
do{printf("\033[30m""[%s: %s: line %d]" fmt"\033[0m" ,\
__FILE__, __FUNCTION__, __LINE__, ##arg ); }while(0);
#define PrintColor2( fmt, arg ... ) \
do{printf("\033[31m""[%s: %s: line %d]" fmt"\033[0m" ,\
__FILE__, __FUNCTION__, __LINE__, ##arg ); }while(0);
#define PrintColor3( fmt, arg ... ) \
do{printf("\033[32m""[%s: %s: line %d]" fmt"\033[0m" ,\
__FILE__, __FUNCTION__, __LINE__, ##arg ); }while(0);
#define PrintColor4( fmt, arg ... ) \
do{printf("\033[33m""[%s: %s: line %d]" fmt"\033[0m" ,\
__FILE__, __FUNCTION__, __LINE__, ##arg ); }while(0);
#define PrintColor5( fmt, arg ... ) \
do{printf("\033[34m""[%s: %s: line %d]" fmt"\033[0m" ,\
__FILE__, __FUNCTION__, __LINE__, ##arg ); }while(0);
#define PrintColor6( fmt, arg ... ) \
do{printf("\033[35m""[%s: %s: line %d]" fmt"\033[0m" ,\
__FILE__, __FUNCTION__, __LINE__, ##arg ); }while(0);
#define PrintColor7( fmt, arg ... ) \
do{printf("\033[36m""[%s: %s: line %d]" fmt"\033[0m" ,\
__FILE__, __FUNCTION__, __LINE__, ##arg ); }while(0);
int main()
{
printf("I AM IN macro.c
");
DEBUG1("I AM IN macro.c
");
DEBUG2("I AM IN macro.c
");
PrintColor1("I AM IN macro.c
");
PrintColor2("I AM IN macro.c
");
PrintColor3("I AM IN macro.c
");
PrintColor4("I AM IN macro.c
");
PrintColor5("I AM IN macro.c
");
PrintColor6("I AM IN macro.c
");
PrintColor7("I AM IN macro.c
");
return 0;
}
出力結果: