前段时间看公司项目源码,看到有些长相略微奇特的宏定义:
#define __EFT_H__
第二行里面宏定义是空的?空宏有什么作用?
答案是用作标志!!!
#ifndef __EFT_H__
/* 代码段 */
#else
/* 代码段 */
#endif
如上面这段代码所示,空宏和普通宏定义其实是一样的,唯一的不同之处只是其定义内容为空。但是,我们可以通过判断这个宏定义是否在之前被定义过从而执行不同的代码分支。
前段时间看公司项目源码,看到有些长相略微奇特的宏定义:
#define __EFT_H__
第二行里面宏定义是空的?空宏有什么作用?
答案是用作标志!!!
#ifndef __EFT_H__
/* 代码段 */
#else
/* 代码段 */
#endif
如上面这段代码所示,空宏和普通宏定义其实是一样的,唯一的不同之处只是其定义内容为空。但是,我们可以通过判断这个宏定义是否在之前被定义过从而执行不同的代码分支。