我有以下代码片段:
#ifdef DO_LOG
#define log(p) record(p)
#else
#define log(p)
#endif
void record(char *data){
.....
.....
}
Run Code Online (Sandbox Code Playgroud)
现在如果我调用log("hello world")我的代码并且DO_LOG没有定义,那么该行是否会被编译,换句话说它会占用字符串"hello world"的内存吗?
PS程序中有很多记录调用,它对内存敏感,所以有没有其他方法有条件地编译,所以它只依赖于#define DO_LOG?