Hej! Chciałabym spytać bardziej doświadczonych czy takie makro jest okey jeśli chodzi o debugowanie oraz czy muszę debug_print
opakowywać w #ifdef DEBUG debug_print #endif
? ,bo zauważyłam, że gdy kompiluję bez #define DEBUG
kod się kompiluje i też działa jednak nie wiem właśnie czy ta "pusta" funkcja debug_print wpływa wtedy w jakiś sposób na kod?
#include <stdio.h>
#define DEBUG
#ifdef DEBUG
#define debug_print(fmt, ...) \
do { fprintf(stderr, "%s:%d:%s(): " fmt, __FILE__, \
__LINE__, __func__, __VA_ARGS__); } while (0)
#else
#define debug_print(fmt,...)
#endif
int main(void) {
const char *path = "/root/.bashrc";
debug_print("%s %s\n","can't open:",path);
return 0;
}
dopiero dzisiaj zaczęłam szukać czegoś lepszego i muszę teraz wszystko zmieniać ;. dlatego wolę zapytać może są jakieś lepsze sposoby. (dotychczas stosowałam zwykłe printf ;p)