条件编译#ifndef debug
#define debug
这种写法有啥大的用处吗
一般是用来防止重复定义的
具体到你的情况,没有完整代码不好说
举个通常的例子,每个头文件都会有的:
#ifndef __W25QXX_H#define __W25QXX_H
....
#endif
如果有没这几个宏,当有多个源文件include这个头文件时,那么中间的函数声明什么的,就会被重复声明。编译时会出错。
主要是避免重复定义,
只有第一次定义是有效的,代码可以执行,之后再定义,就重复了,这个代码能检查出来,之后也就不会执行这段代码,
1. 用来防止重复定义
2. 用来快速的开关一些定义内容,特别是调试相关、而正常代码中不需要的。比如你举例的debug,不过一般宏定义中宏名都是用大写的。
防止重复定义,当有了这个定义,你如果再次定义,会检查出来。