宏定义的使用
2018-03-17 本文已影响0人
无惧天涯
最近看到代码里面有些 宏 蛮有意思的。学习顺便记录一下 。
定义
宏 是一种批量处理的称谓。计算机科学里的宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。(摘自百度百科)
1. 常用宏
判定条件,注意:需要成对出现
#if A==2
#ifdef A
#elif A==4
#ifndef A
直接定义
#define _A_ 1
用法一
===
使用宏在根据情况定义变量
#if DLEVEL == 0
#define STACK 0
#elif DLEVEL == 1
#define STACK 100
#else
#define STACK 200
#endif
#ifndef _STOPWATCH_H_
#define _STOPWATCH_H_
#endif
用法二
更具宏注销某代码端或者二选一
//设置0则取消 1则启用
#define RANDN 0
#if RANDN
#define READ_NUM 50000000
unsigned int read_key[READ_NUM];
void read_data()
{
...
}
#endif
# 用法三
> 使用宏代替全局变量防止在gpu上传递变量
`#define NUM_BUCKETS 1111151`”