C / C ++ de control de impresión macro

Al hacerlo C / C ++ de desarrollo, a menudo necesita imprimir algo con el fin de facilitar la depuración, pero ya no desea imprimir la información de depuración después del desarrollo. Lo más problemático que hacer es imprimir la información de depuración en el desarrollo, y luego imprimir la información en estos comentarios sobre la liberación. O puede agregar una información impresa frase ifdef macro.

Que no hay manera de hacer una serie de relativamente simple?

1, el lenguaje C

c uso del lenguaje en general printf, de la siguiente manera:

// # define __DEBUG
#ifdef __DEBUG
#define DEBUG (formato, ...) printf (formato, ## __ VA_ARGS__)
//可打印文件名,行号
// #define DEBUG (formato, ...) printf (" ARCHIVO: "__FILE__", LINE:% d: "formato" / n", __LINE__, ## __ VA_ARGS__)
#else
#define DEBUG (formato, ...)
#endif

Printf no por depuración.

2, C ++

c ++ cout salidas usado generalmente, como sigue:

// # define __DEBUG
#ifdef __DEBUG
#define tcout cout
#else
#define tcout 0 && cout
#endif

/ *
# Define TRAC
#ifndef TRACE2
#define cout 0 && cout
#endif
* /

Cout ser sustituido mediante el uso de tcout. Comentarios siguieron el segundo enfoque, sigue utilizando cout.

Publicado 12 artículos originales · ganado elogios 4 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/wuzhidefeng/article/details/81565978
Recomendado
Clasificación