文章目录
#define 是宏定义命令,宏定义就是将一个标识符定义为一个字符串,源程序中的该标识符均以指定的字符串来代替。
#define 是预处理命令,因此会在预处理阶段被执行
因为#define是预处理命令,可以在预处理阶段看到结果,预处理命令
gcc -E demo.c -o demo.i
0x1无参宏定义
0x10常见无参宏定义
#define 标识符[替换字符] 字符串[被替换字符]
#define FLAG 1
#define SET_BIT_MASK 0x1
#define UNSET_BIT_MASK 0x0
0x11宏定义用于条件编译
在大规模的开发过程中,头文件很容易发生嵌套包含,可以使用#ifndef 配合 #define ,#endif 。
功能与 #pragma once 作用类似,都是为了防止多次编译一个头文件。
#ifndef COMPILE_H
#define COMPILE_H
...
#endif
0x12宏定义用于跨平台
跨平台和系统的软件里,可以在编译的时候通过#define设置编译环境
#ifdef WINDOWS
......
(#else)
......