he el siguiente fragmento de código:C++ compilación condicional
#ifdef DO_LOG
#define log(p) record(p)
#else
#define log(p)
#endif
void record(char *data){
.....
.....
}
Ahora si llamo log("hello world")
en mi código y DO_LOG
no está definida, se compilará la línea, es decir va a comer hasta la memoria para la cadena "hola mundo"?
P.S. Hay muchas llamadas de registro en el programa y es sensible a la memoria, entonces ¿hay alguna otra manera de compilar condicionalmente para que solo dependa del #define DO_LOG
?
No debe implementar su propia biblioteca de registro. Hay suficientes por ahí. Esto es lo que estoy usando: http://www.templog.org. – sbi
@sbi No lo sé. He escrito el mío y funciona muy bien. Es la mejor manera de aprender a hacer algo. :-) – Konrad
@Konrad: Yo también lo hice, pero es difícil ser mejor que la sabiduría acumulada de una biblioteca establecida. – sbi